所以我有一个SeekBar但是那个小圆圈拇指很难抓住。有没有办法让hitbox变大?我不一定关心图形本身看起来有什么不同 - 我只是希望它是可以抓取的。
答案 0 :(得分:1)
您可以通过更改Thumb的大小来自定义Andrew回答的搜索栏。 创建layer-drawable,其形状为占位符thumb_image.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>
该示例显示了以下结果。
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@drawable/thumb_image" />
Thumb自定义的另一个好例子。
答案 1 :(得分:0)
查看这个很酷的库,了解Seekbar DiscreteSeekBar
并且可以通过以下
添加而没有太多复杂性<org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dsb_min="2"
app:dsb_max="15"
/>
其中还包含以下属性。
dsb_progressColor: color/colorStateList for the progress bar and thumb drawable
dsb_trackColor: color/colorStateList for the track drawable
dsb_indicatorTextAppearance: TextAppearance for the bubble indicator
dsb_indicatorColor: color/colorStateList for the bubble shaped drawable
dsb_indicatorElevation: related to android:elevation. Will only be used on API level 21+
dsb_rippleColor: color/colorStateList for the ripple drawable seen when pressing the thumb. (Yes, it does a kind of "ripple" on API levels lower than 21 and a real RippleDrawable for 21+.
dsb_trackHeight: dimension for the height of the track drawable.
dsb_scrubberHeight: dimension for the height of the scrubber (selected area) drawable.
dsb_thumbSize: dimension for the size of the thumb drawable.
dsb_indicatorSeparation: dimension for the vertical distance from the thumb to the indicator.
库中的其他SeekBar组件是these
答案 2 :(得分:0)
您想要一个插入的可绘制资源。对于问题“ShapeDrawable中的偏移形状”https://stackoverflow.com/a/3674134/3175580这个问题的答案恰好是同一件事,你要问。与其他答案一样,如果它是私有的,你仍然需要复制目标drawable。
优点(或缺点)是,它显示了您增加大小的确切程度,而不是总大小。另外,我认为它可以节省内存,因为使用透明形状会创建一个大小透明的位图(?)。