- Switch开关
- ProgressBar、seekbar进度条
- DatePicker TimePicker日期/时间选择器
- CalendarView日历
- VideoView视频播放
- WebView网页镶嵌
- ScrollView滑动控件
1.Switch开关
android:switchMinWidth:设置开关的最小宽度
android:switchPadding:设置滑块内文字的间隔
android:textOff:按钮没有被选中时显示的文字
android:textOn:按钮被选中时显示的文字
android:textStyle:文字风格,粗体,斜体写划线那些
android:track:底部的图片
android:thumb:滑块的图片
setOnCheckedChangeListener 监听
自定义样式:
滑动条关闭样式:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--高度30此处设置宽度无效-->
<size android:height="30dp"/>
<!--圆角弧度15-->
<corners android:radius="15dp"/>
<!--变化率-->
<gradient
android:endColor="#888888"
android:startColor="#888888"/> </shape>
滑动条打开样式:
<gradient
android:endColor="#33da33"
android:startColor="#33da33"/>
滑动条选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/open" />
<item android:drawable="@drawable/close" />
</selector>
按钮关闭样式:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!--高度40-->
<size android:height="40dp" android:width="40dp" />
<!--圆角弧度20-->
<corners android:radius="20dp"/>
<!--变化率-->
<gradient
android:endColor="#eeeeee"
android:startColor="#eeeeee" />
<stroke android:width="1dp"
android:color="#666666" />
</shape>
按钮打开样式:
<stroke android:width="1dp"
android:color="#33da33"/>
按钮选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/btn_open"/>
<item android:drawable="@drawable/btn_close"/>
</selector>
Xml:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/btn_thumb"
android:track="@drawable/track"
></Switch>
2.ProgressBar进度条
原始样式就是一个一直在转的圆圈,有百分比的进度条是自定义view
3.seekbar 进度条(如音乐播放器)
max,指定滑动条的最大值
progress,指定滑动条的当前值
通过setOnSeekBarChangeListener(OnSeekBarChangeListener)的回调方法实现SeekBar的拖动事件
onProgressChanged,进度发生改变时会触发
onStartTrackingTouch,按住SeekBar时会触发
onStopTrackingTouch,放开SeekBar时触发
自定义进度条样式:
//这里设置seekbar的进度条颜色
android:progressDrawable="@drawable/bg_adjust_seek_bar"
//这里设置seekbar的按钮图片
android:thumb="@drawable/bg_seek_bar_thumb2"/>
bg_adjust_seek_bar.xml写法:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item //背景
android:id="@android:id/background"
android:paddingBottom="4dp"
android:paddingTop="4dp">
<shape>
<corners android:radius="50dp"/>
<solid android:color="#efefef"/>
</shape>
</item>
<item //进度
android:id="@android:id/progress"
android:paddingBottom="4dp"
android:paddingTop="4dp">
<clip>
<shape>
<corners android:radius="50dp"/> //弧度
<gradient //颜色渐变
android:angle="0"//渐变角度
android:endColor="#2896F0"
android:startColor="#2896F0"/>
</shape>
</clip>
</item>
</layer-list>
3.DatePicker 日期选择器
android:calendarViewShown:是否显示日历。
android:maxDate:设置可选最大日期,以mm/dd/yyyy格式设置。
android:minDate:设置可选最小日期,以mm/dd/yyyy格式设置。
获取时间方法setOnDateChangedListener(API26)
4.TimePicker 时间选择器
is24HourView():判断是否为24小时制。
setIs24HourView():设置是否为24小时制显示。
getCurrentXxx():获取当前时间。
setCurrentXxx():设置当前时间。
setOnTimeChangedListener():
5.CalendarView日历
setOnDateChangeListener
6.VideoView视频播放
视频文件放到raw文件夹
start:开始或继续播放视频
pause:暂停播放视频
resume:将视频从头开始播放
seekTo:从指定的位置开始播放视频
isPlaying:判断当前是否正在播放视频
vv=findViewById(R.id.vv);
mediaController=new MediaController(this);//控制栏
vv.setMediaController(mediaController);
//获取raw.mp4的uri地址
String uri = "android.resource://" + getPackageName() + "/" + R.raw.pm;
vv.setVideoURI(Uri.parse(uri));
vv.start();
vv.setOnCompletionListener//完成监听
7.WebView 网页浏览
wv.loadUrl(“http://www.163.com”);
8.ScrollView