我遇到了 Android SeekBar 的问题。
当我使用标准拇指(蓝色)时没问题,但是当我使用自己的主题(如 scrubber_control.xml)时出现问题 - 按钮变窄了。我试过设置最小高度、填充、将高度/宽度添加到 scrubber_control 项目,但无法解决这个奇怪的问题。
布局
<SeekBar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/question_seekbar"
android:thumb="@drawable/scrubber_control"
/>
洗涤器控制.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/scrubber_control_disabled_holo" />
<item android:state_pressed="true" android:drawable="@drawable/scrubber_control_pressed_holo" />
<item android:state_selected="true" android:drawable="@drawable/scrubber_control_focused_holo" />
<item android:drawable="@drawable/scrubber_control_normal_holo" />
</selector>
最佳答案
在定义拇指高度和宽度的可绘制对象中创建自定义形状 xml
用于 scrubber_control.xml 中使用的所有三种形状
例如:
在 drawable 文件夹中添加这些 xmls
custom_scrubber_control_pressed_holo.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<size
android:height="40dp"
android:width="40dp" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item android:drawable="@drawable/scrubber_control_pressed_holo"/>
</layer-list>
custom_scrubber_control_focused_holo.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<size
android:height="40dp"
android:width="40dp" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item android:drawable="@drawable/scrubber_control_focused_holo"/>
</layer-list>
custom_scrubber_control_disabled_holo.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<size
android:height="40dp"
android:width="40dp" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item android:drawable="@drawable/scrubber_control_disabled_holo"/>
</layer-list>
custom_scrubber_control_normal_holo.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<size
android:height="40dp"
android:width="40dp" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item android:drawable="@drawable/scrubber_control_normal_holo"/>
</layer-list>
之后你只需要像这样改变你的选择器。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/custom_scrubber_control_disabled_holo" />
<item android:state_pressed="true" android:drawable="@drawable/custom_scrubber_control_pressed_holo" />
<item android:state_selected="true" android:drawable="@drawable/custom_scrubber_control_focused_holo" />
<item android:drawable="@drawable/custom_scrubber_control_normal_holo" />
</selector>
关于android - 在 Android 中滑动时缩小的 Seekbar 按钮(使用自己的拇指 xml),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26887424/