android 自定义SeekBar
16lz
2021-01-23
效果:
代码如下:
<SeekBar android:id="@+id/seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="5dip" android:paddingRight="5dip" android:layout_marginLeft="10dip" android:layout_marginRight="10dip"android:progressDrawable="@layout/seekbar_style"style="?android:attr/progressBarStyleHorizontal" android:thumb="@layout/thumb"android:layout_weight="1"/>
其实最最关键的就是:
android:progressDrawable="@layout/seekbar_style"android:thumb="@layout/thumb"
怎么去定义呢?
看下面的代码:
seekbar_style.xml
<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@android:id/background"><shape><corners android:radius="10dip" /><gradient android:startColor="#ffffffff"android:centerColor="#ff000000" android:endColor="#ff808A87"android:centerY="0.45" android:angle="270" /></shape></item><item android:id="@android:id/progress"><clip><shape><corners android:radius="10dip" /><gradient android:startColor="#ffffffff"android:centerColor="#ffFFFF00" android:endColor="#ffAABD00"android:centerY="0.45" android:angle="270" /></shape></clip></item></layer-list>
thumb.xml的代码,这里就是哪个条上的进度按钮,你可以设置不图片。方形,圆形都可以
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 按下状态 --> <item android:state_pressed="true" android:drawable="@drawable/thumb_normal" /> <!-- 普通无焦点状态 --> <item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/thumb_normal"/></selector>
Java代码的处理:并实现播放中的拖动功能
seekBar = (SeekBar) controlView.findViewById(R.id.seekbar);seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekbar, int progress,boolean fromUser) {if (fromUser) {//if(!isOnline){vv.seekTo(progress);//}}}@Overridepublic void onStartTrackingTouch(SeekBar arg0) {myHandler.removeMessages(HIDE_CONTROLER);}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {myHandler.sendEmptyMessageDelayed(HIDE_CONTROLER, TIME);}});
更多相关文章
- Android沉浸式状态栏、导航栏
- pandaboard ES学习之旅——5 Android Linux内核源代码下载与编译
- windows下载android源代码
- android 开发中中,经常用到的代码
- android panellistview 圆角实现代码
- Android如何在java代码中设置margin
- Android Content Provider详解及示例代码
- android 状态栏 时间 错误 adb连接
- android中eclipse查看源代码