android 布局滚动条,Android 布局控件——滚动条视图,日期,时间
今天学长讲了一些控件,比较强的那种控件。
刚开始讲了图片,但是图片我前面写过了就跳过。
滚动条牛牛们应该很熟悉,也常用哈。
这是垂直的滚动条视图哈
一起来用吧!
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/scrollView"
android:fillViewport="true">
android:id="@+id/text"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:gravity="top"
android:layout_marginBottom="100dp"
android:text="text">
主活动:
final TextView t=findViewById(R.id.text);
for (int i = 0; i <30; i++) {
t.append("\n分"+i);
}
效果:
注意右边的那个灰色的,就是滚动条啦!
注意:ScrollView的子元素只能有一个,可以是一个View(如ImageView、TextView等) 也可以是一个ViewGroup(如LinearLayout、RelativeLayout等),其子元素内部则不再限制,否则会报异常。
本牛崽就犯了这类错误,想着嵌套垂直和水平滚动条来着,谁知道搞半天没用,因为我是直接嵌套进去的,
应该在写了垂直滚动后添加一种布局,然后在布局里水平滚动就好。
这边是完全嵌套的滚动条布局:
android:layout_width="match_parent" android:layout_height="match_parent">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginTop="20dp">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_margin="20dp"
android:src="@mipmap/ic_launcher" />
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_margin="20dp"
android:src="@mipmap/ic_launcher" />
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_margin="20dp"
android:src="@mipmap/ic_launcher" />
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_margin="20dp"
android:src="@mipmap/ic_launcher" />
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="内容一"
android:textColor="#03A9F4"
android:textSize="24sp" />
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginTop="80dp"
android:gravity="center"
android:text="内容二"
android:textColor="#03A9F4"
android:textSize="24sp" />
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginTop="80dp"
android:gravity="center"
android:text="内容三"
android:textColor="#03A9F4"
android:textSize="24sp" />
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginTop="80dp"
android:layout_marginBottom="80dp"
android:gravity="center"
android:text="内容四"
android:textColor="#03A9F4"
android:textSize="24sp" />
然后机器人可以向右边拖
内容可以向下拖。
接下来的是日期,就把图贴上了,注意操作在主活动。
主活动主要是获得当前的日期。并且监听。
那我就再做个按钮输出当前日期到running中。
主活动代码:
final DatePicker datePicker = findViewById(R.id.date);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int year = datePicker.getYear();
int month = datePicker.getMonth();
int day = datePicker.getDayOfMonth();
System.out.println("year:" + year + ",month:" + (month + 1) + ",day:" + day);
}
});
应该不难理解,上面的刚开始就是找到布局中的日历,
然后直接给按钮创建监听器。按钮我当时就没在布局写了,因为截图截早了。
然后就是把他们的年月日找出来呗,这里注意月份0-11,所以month要+1
// 设置选择日期时的监听
datePicker.setOnDateChangedListener(new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
System.out.println("year:" + year + ",month:" + (monthOfYear + 1) + ",day:" + dayOfMonth);
}
});
监听事件就这样呗,这是日期专属的监听事件方法,重写下就看得出和一般监听器大同小异。
监听事件的方法应该不用多说吧,日期对象,年,当前年份的月,当前月份的天。
我们就是在日历上点哪个,就输出当前的信息(年月日)
还有一种比较热门的日期:
android:id="@+id/calenderView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:firstDayOfWeek="3"
android:shownWeekCount="4"
android:selectedWeekBackgroundColor="#aff"
android:focusedMonthDateColor="#f00"
android:weekSeparatorLineColor="#ff0"
android:unfocusedMonthDateColor="#f9f">
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="1"
android:text="获取当前日期" />
这个日期它比较特
final CalendarView calendarView=findViewById(R.id.calenderView);
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
long y=calendarView.getDate();
System.out.println(y);
}
});
殊吧,比如他不能获取当前的年月日,但是能获取到1970.1.1的0点到当前时间的毫秒
I/System.out: 1589554516099
这是按钮监听器拿到的,
因为长整型范围也有限,大概只能算到2038年。
然后他也可以使用监听事件,和上面那个监听事件一样。
final CalendarView calendarView=findViewById(R.id.calenderView);
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
long date=calendarView.getDate();
String s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
System.out.println(s);
}
});
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
System.out.println(year+" "+(month+1)+" "+dayOfMonth);
}
});
改了下,并搭上了它的监听事件,毕竟都是日期,前面的监听类型应该是一样,后面的内容就不一样了。
刚刚那个长整型的毫秒,用那段话就能转换成时间,有点奇怪的是时不对,我能想到的是时区的问题,
因为我们是东时区,我们的起始时间其实是1970.1.1的早上八点,
而计算出来的就比当前时间少了八个小时,所以现在系统统计的是外国人的时间,哈哈。
都讲了日期了,时间是肯定不能少的了,所以把惹人爱的时钟搬出来了。
不懒了,这我还是写个按钮吧!
这种不是数字钟表哈,文化人才看的懂滴。
这边没有24小时制,只有上下午夜;但如果是获取数据就可以24小时制。
日期有他专属的监听事件,时间也有;
final TimePicker picker = findViewById(R.id.time);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {//二话不说,先搞个按钮监听下,把时分都安排上。
int hour = picker.getHour();
int minute = picker.getMinute();//获取分钟
System.out.println(hour + ":" + minute);//输出当前时分,挺遗憾没有秒这个单位
}
});
// 添加时间选择的监听事件
picker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {//和日期的都差不多,
System.out.println(hourOfDay + ":" + minute);//这边监听也是获得当前的时分咯!
}
});
可以看出监听的效果了吧,可以比较准确获得当前系统时间。
今天的内容就这些,又冒出来几个监听事件,感觉监听事件好像很多啊,所以我去搜了下,
监听事件有这么多,我蒙了
android 布局滚动条,Android 布局控件——滚动条视图,日期,时间相关推荐
- C#中使用DateTimePicker控件显示修改日期时间
1.只显示日期 默认就是 2.只显示时间 修改属性 Format 设为Time ShowUpDown设为true 3.同时显示日期时间 Format设为Custom CustomFormat 设为 y ...
- Android 软键盘弹出时把布局顶上去,控件乱套解决方法
Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...
- Android开发的之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- android 固定底部 布局_Android系统列表控件
在android系统控件中,有多个控件可以展示列表数据. 一.ListView 该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指进行滑动. ListView ...
- android怎么查看方法被谁调用,Android中查看布局文件中的控件(view,id)在哪里被调用(使用)...
在阅读别人的代码时通常是很痛苦的,有时很想要看一看布局中的控件在哪里被调用了,为之很苦恼 在这里提供一种方法. 复制要查看的控件ID,到R文件中搜索到该ID, 接下来就好办的了,选中ID按下Ctrl鼠 ...
- Kotlin 开发Android app(十二):Android布局FrameLayout和ViewPager2控件实现滚动广告栏
在上一节中我们简单的介绍了RecyclerView 的使用,他是整个开发的重点控件,这一节我们来看看FrameLayout 布局结合ViewPager2,开发一个广告控件. 新模块banner 先创建 ...
- Android开发三:常用控件1--TextView、EditText、Button
上一节写到android的工程目录结构,这一节继续,开始学习控件,中间的跨度挺大,关于Activity和intent的知识我就略过了,原因很简单,网上的关于那个的资料特别多,而且理论的东西我这都是了解 ...
- android 自定义view控件,Android 自定义View——自定义View控件
Android给我们提供了大量的View控件,但这还是远远满足不了我们的要求,有时候开发所需要的控件形式是在Android提供的控件中是不存在,这就需要我们自己去定义一个.那么如何自定义控件? 学习自 ...
- Android手工打造脑图控件
背景 所有的开发背景都是项目需要.先上屌炸天的设计图. 效果 导出效果不清晰,尽量看吧. 功能 脑图展示 样式订制(文字颜色.图标.样式.边框..) 折叠方式支持两种:a.同侧折叠不影响其他.b.同侧 ...
- android绘制view的撤销,DrawingView android 上的一个涂鸦控件。可以设置画笔的粗细,颜色,撤销上一笔涂鸦,提供保存图片的接口。 @codeKK Android开源站...
DrawingView 的原型来自DrawingView-Android,是 android 的一个可涂鸦控件. 之所以做这个控件是因为前段时间写了一个截图应用需要用到涂鸦功能,现在把涂鸦的控件单独拿 ...
最新文章
- 鸿海拟收购韩国家电企业东洋美吉 价格或达4.5亿美元
- 高软作业三:原型化设计——随心记
- python中国大学排名爬虫写明详细步骤-Python爬虫--2019大学排名数据抓取
- 金铲铲之战:新版本上线3活动,有实物奖励,小学生被限制游戏
- LiveVideoStackCon讲师热身分享 ( 十二 ) —— 微博短视频高并发架构
- xsd文件转图片_如何将图片转化为PDF格式?分享一个超简单的方法给你
- Flink : The object probably contains or references non-serializable fields.
- 华为鸿蒙系统后续,不负期待!鸿蒙操作系统将于6月2日正式发布,你的手机更新了吗?...
- zynq以太网官网例子调试
- chirp信号频谱(三角波和锯齿波)
- win10修改dns服务器地址,教你Win10如何更改首选DNS服务器地址
- 用python做youtube自动化下载器 代码
- 飞鸽TCP/IP 10106错误解决
- 孙悟空的师傅的真实身份
- 集线器、路由器、交换机区别
- C语言中指向函数的指针(我见过的讲的最清晰的文章)
- 我自己动手写一个网页收藏站,你说行不行?【html+css+js】#谭子
- 【系列】如何管理数据团队01
- GLUT使用の太阳系天体绘制
- 《软件架构设计》一书目录