要做一个视频播放器,界面需要自己定义,在做拖动条的时候,很难看。所以就上网找资料并且进行调试。
网上很多资料,但是可能别人的能调好,但是自己照搬不一定能调出跟网上资料一样的效果。
所以,自定义SeekBar最重要的就是设置背景以及android:minHeight跟android:maxHeight属性,也可以加上android:thumbOffset。
我的SeekBar背景大小为579*10(两张图片,背景:seekbar_n.png,拖动之后图片:seekbar_p.png),拖动块大小为18*18(seekbar_point.png).代码如下:
1、创建seekbar的拖动块风格文件(seekbar_point_style.xml)
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:drawable="@drawable/video_n"
- android:state_selected="false"
- android:state_pressed="false"/>
- <item
- android:drawable="@drawable/video_p"
- android:state_selected="false"
- android:state_pressed="true"/>
- </selector>
2、创建seekbar的风格文件(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"
- android:drawable="@drawable/seekbar_n"
- />
- <item
- android:id="@android:id/progress"
- android:drawable="@drawable/seekbar_p"/>
- <item
- android:id="@android:id/secondaryProgress"
- android:drawable="@drawable/seekbar_n"/>
- </layer-list>
3、定义seekbar
- <SeekBar
- android:id="@+id/seekbar"
- android:layout_width="579dp"
- android:layout_height="wrap_content"
- android:layout_centerVertical="true"
- android:layout_marginLeft="100dp"
- android:progressDrawable="@drawable/seekbar_style"
- android:minHeight="10dp"
- android:maxHeight="10dp"
- android:thumbOffset="1.0dp"
- android:thumb="@drawable/seekbar_point_style" />
至此,seekbar已经完成,编译运行,一个漂亮的seekbar展现在眼前