Android 移除定制Seekbar的圆边?
我正在尝试定制一个seekbar。我有这个大部分工作,但我不能删除这个搜索棒的圆形边缘。我知道在这方面有很多问题,应用corners 0dp会有所帮助,但我不知道在哪里实现这个形状。当我试着显示这个形状时,它的边缘很锐利,但是我的背景没有显示出来,它显示的是一个黑色的矩形。我希望我的背景有锋利的边缘 参见kbarprogrss.xmlAndroid 移除定制Seekbar的圆边?,android,rounded-corners,seekbar,Android,Rounded Corners,Seekbar,我正在尝试定制一个seekbar。我有这个大部分工作,但我不能删除这个搜索棒的圆形边缘。我知道在这方面有很多问题,应用corners 0dp会有所帮助,但我不知道在哪里实现这个形状。当我试着显示这个形状时,它的边缘很锐利,但是我的背景没有显示出来,它显示的是一个黑色的矩形。我希望我的背景有锋利的边缘 参见kbarprogrss.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/background">
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
android:src="@drawable/cover_back" />
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/seek_progress_bg"/>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/cover_front"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background">
<bitmap
android:src="@drawable/gray_back"
android:tileMode="repeat">
</bitmap>
</item>
<item
android:id="@android:id/progress">
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<clip >
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/gray_front"
android:tileMode="repeat"/>
</clip>
</item>
</layer-list>
</item>
</layer-list>
<shape
xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="0dp"/>
</shape>
seek\u progress\u bg.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">
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
android:src="@drawable/cover_back" />
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/seek_progress_bg"/>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/cover_front"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background">
<bitmap
android:src="@drawable/gray_back"
android:tileMode="repeat">
</bitmap>
</item>
<item
android:id="@android:id/progress">
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<clip >
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/gray_front"
android:tileMode="repeat"/>
</clip>
</item>
</layer-list>
</item>
</layer-list>
<shape
xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="0dp"/>
</shape>
Seekbar实现
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button2"
android:progress="0"
android:secondaryProgress="0"
android:padding="0dp"
android:thumbOffset="0dp"
android:progressDrawable="@drawable/seekbarprogrss"
android:thumb="@drawable/cover"
请参见kbar定制
首先,为mSeekbar.java创建一个自定义类
public class mSeekbar extends SeekBar{
public seekBar (Context context) {
super(context);
Initialise();
}
public seekBar (Context context, AttributeSet attrs) {
super(context, attrs);
Initialise();
}
public seekBar (Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
Initialise();
}
private void Initialise(){
this.setBackgroundDrawable(getResources().getDrawable(R.drawable.shape));
this.setProgressDrawable(getResources().getDrawable(R.drawable.seek_bar_base));
}
}
然后,将此部分添加到xml中
<"packageName".seekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:thumb="@drawable/red_front"
android:padding="0dp"
android:progress="0"
android:indeterminate="false"
android:secondaryProgress="0"
android:thumbOffset="0dp"/>
用这些抽绳
seek\u bar\u base.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">
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
android:src="@drawable/cover_back" />
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/seek_progress_bg"/>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/cover_front"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background">
<bitmap
android:src="@drawable/gray_back"
android:tileMode="repeat">
</bitmap>
</item>
<item
android:id="@android:id/progress">
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<clip >
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/gray_front"
android:tileMode="repeat"/>
</clip>
</item>
</layer-list>
</item>
</layer-list>
<shape
xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="0dp"/>
</shape>
shape.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">
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
android:src="@drawable/cover_back" />
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/seek_progress_bg"/>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/cover_front"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background">
<bitmap
android:src="@drawable/gray_back"
android:tileMode="repeat">
</bitmap>
</item>
<item
android:id="@android:id/progress">
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<clip >
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/gray_front"
android:tileMode="repeat"/>
</clip>
</item>
</layer-list>
</item>
</layer-list>
<shape
xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="0dp"/>
</shape>
使用的图像
gray_back.jpg
gray_front.jpg
red_front.jpg