如何创建一个数字高于它的搜索栏。例如,如果SeekBar的Max = 10,它将在搜索栏上方0到10之间。
我试图通过创建位于Seekbar上方的自定义视图来实现此目的,此视图扩展了线性布局(水平),n个textviews(n =搜索栏最大属性)被添加到LinearLayout。问题是我无法将数字直接放在搜索栏上的“凹槽”上方。
我是以正确的方式接近这个还是应该创建一个自定义视图来扩展Seekbar并通过将它们绘制到画布上来添加数字?有人可以给我一些关于如何解决这个问题的指示。
以下是我到目前为止的代码,如上所述,无论我如何尝试使用搜索栏和自定义视图上的填充,我都无法使数字与搜索栏完美对齐缺口(选定的指数)
public class SeekBarNumberIndicator extends LinearLayout
{
TextView[] mNumbers;
public SeekBarNumberIndicator(Context context)
{
super(context);
// TODO Auto-generated constructor stub
}
public SeekBarNumberIndicator(Context context, AttributeSet attrs)
{
super(context, attrs);
initView(context, attrs);
}
@SuppressLint("NewApi")
public SeekBarNumberIndicator(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
initView(context, attrs);
}
protected void initView(Context context, AttributeSet attrs)
{
super.setOrientation(LinearLayout.HORIZONTAL);
mNumbers = new TextView[11];
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1);
for(int x = 0; x < 11; x++){
mNumbers[x] = new TextView(context);
mNumbers[x].setLayoutParams(lp);
mNumbers[x].setTextColor(Color.BLUE);
mNumbers[x].setText(String.valueOf(x));
mNumbers[x].setGravity(Gravity.LEFT);
//mNumbers[x].setPadding(10, 0, 0, 0);
super.addView(mNumbers[x]);
}
}
}
更新
我尝试了你发布的链接,出现同样的问题,滑动文本视图没有直接出现在拇指下,偏移量逐渐增加。我可以采取哪些额外措施使文本视图直接显示在拇指下(如果我可以解决这个问题,那么我确定可以调整解决方案以适应我的OP中的自定义视图)。我知道我可以开始向填充添加一些逻辑,这些逻辑会增加一些指数值,但这似乎是'hacky'谢谢