如何将属性设置为android的seekbar thumb?

时间:2013-11-19 22:01:46

标签: java android css android-layout layout

我为我的Android应用程序构建了一个自定义搜索栏。

然而我在手柄\拇指尺寸和位置上发送时遇到困难

因为我认为attrubutes是指整个控件,我没有看到xml属性引用拇指本身。

是否有任何xml方式设置thumb(1)位置(2)大小和(3)填充?

我想也许可以通过代码来做, 但我不确定如何,我认为这不太可取

pseoudo代码如:

Drawable image = getResources().getDrawable(
                          R.drawable.pressed_state).setHight(20dp);

//how to set right padding?

            myZoomBar.setThumb(image );

1 个答案:

答案 0 :(得分:1)

SeekBar类中使用的thumb drawable是 Not 一个可伸缩的9Patch。这是一个直接的png 如果你想要一个重量级的拇指,可以:

  • 只需创建一系列不同尺寸的拇指图像,并根据需要进行交换。

  • 在您的自定义SeekBar中转到城镇,覆盖onMeasure(),onLayout(),onDraw()等等,以使其处理9Patch调整大小(您显然还必须提供自己的方法,例如setScaleableThumbHeight( )和setScaleableThumbWidth())。

注意:“填充”设置用于视图任何内容的内部间距。除非您尝试在Thumb内显示某些内容,否则Thumb Drawable中的填充实际上没有意义。 SeekBar的填充定义了Thumb和Track外围的间距。

如您所知,您可以:   - 使用从ProgressBar继承的android:progress属性来设置进度(缩略图位置)   - 使用从View继承的属性来调整SeekBar的填充和大小。