pas*_*ssy 2 xml android seekbar
嗨,我尝试自定义搜索栏.
这是我的问题:
main.xml中
...
<SeekBar android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:thumb="@drawable/seekbarthumb"
android:progressDrawable="@drawable/sb2"
android:minHeight="45dip"
android:maxHeight="45dip"
></SeekBar>
...
Run Code Online (Sandbox Code Playgroud)
@drawable中的sb2.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/seekbarbg">
</item>
<item android:id="@android:id/progress"
android:drawable="@drawable/sb_progress">
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
一切正常,但sb_progress的位置错误.
所以我有2个解决方案.更改sb_progress的位置或使用Photoshop编辑sb_progress并添加透明像素以修复它.
通过尝试改变位置的好方法出了问题:
我在sb2.xml中添加了一些行
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/seekbarbg">
</item>
<item android:id="@android:id/progress" >
<inset
android:drawable="@drawable/sb_progress"
android:insetTop="11dip"
android:insetBottom="11dip"
android:insetLeft="11dip">
</inset>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
我添加了inset元素,但结果为suxx.这个位置是正确的,但进展不再是动画.sb_progress.png始终是完全绘制的,不要停在拇指上.
我需要帮助!这是一个Bug,我需要添加透明像素吗?是不是
InsetDrawable是Drawable的子类.为什么搜索栏不再适用于InsetDrawable.
java.lang.Object↳android.graphics.drawable.Drawable↳android.graphics.drawable.InsetDrawable
我知道这是一个老问题,但是如果有人通过搜索引擎(就像我做的那样)发现这一点,你需要做的就是在drawable和插图中添加一个'clip'.
<item android:id="@android:id/progress" >
<clip>
<inset
android:insetRight="11dp"
android:insetLeft="11dp">
<shape>
<solid android:color="#343434"/>
</shape>
</inset>
</clip>
</item>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2408 次 |
| 最近记录: |