Android_ProgressBar、SeekBar、ProgressDialog、Vibrator、Notification、GridView
一、ProgressBar(不可拖动进度条)
见—-> 9.23 二、子线程修改UI
不可修改进度一般用于软件安装等场景,可给增加用户的耐心
二、SeekBar(可拖动进度条)
可修改进度一般用于视频,音乐等下的进度条
xml:
java:
①、属性:
效果如下:
②、进度
用法与ProgressBar相似,设置进度方法setProgress()同样内部实现了Handler机制可在子线程直接赋值
当seekbar在前进时,手动拖动是没有效果的,放开鼠标时进度点仍然回到原位置
③、监听
onProgressChanged方法参数中的fromUser属性是判断当前进度改变是系统进度还是用户手动拖动的进度。true为用户手动拖动
三、ProgressDialog(不可拖动)
ProgressDialog对话框进度条,使用时不同于其他对话框,可以直接new,不需要构建者Builder
java:
用法与普通对话框和ProgressBar类似
四、Vibrator(震动)
控制手机的震动,用法简单:只需要申明Vibrator 通过当前对象获取系统服务,传入震动服务即可
!!!!!不要忘记加权限!!!!!
java:
vibrate方法重载:
-1震动一次
0循环震动
五、Notification(标题栏通知)
标题栏中的提示如QQ上方的消息提示等等。
xml:设置按钮加监听
java:
①、构建基本属性
仅仅通过Notification是无法弹出通知,需要NotificationManager加载
②、获取NotificationManager
③、通过①中builder获取Notification对象,并通mNotificationManager加载
在①代码下方添加
效果:
点击按钮弹出通知
下拉:
添加效果:
点击标题跳转指定页面并且将该通知取消显示—>类似于qq点击弹出qq
只需要在①的构建链中添加两行代码
注意:跳转方法setContentIntent中传入的是PendingIntent而不是Intent,需要将Intent封装成PendingIntent
六、GridView
与ListView相同,在主xml中添加GridView属性、在Activity中设置是适配器(可以自定义)其中xml属性
numColumns 指定列数,默认为1列类似ListView
stretchMode 指定扩展的模式–>列宽
columnWidth 指定列宽
以上三者 屏幕中显示三列、每列100dp,当还有剩余空间时列宽进行扩展
verticalSpacing 列间隙 无论一列多宽、列数多少 均保持该属性指定的大小的列间隙
horizontalSpacing 行间隙 无论一列多宽、列数多少 均保持该属性指定的大小的行间隙
以上两者 定义后列宽高将无效果
java代码与ListView相似
监听: