安卓开发---04 Android其他控件

  • 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

发布了14 篇原创文章 · 获赞 11 · 访问量 1298

猜你喜欢

转载自blog.csdn.net/qq_44534541/article/details/105426093