seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int val = (progress * (seekBar.getWidth() - 2 * seekBar.getThumbOffset())) / seekBar.getMax();
textView.setText("" + progress);
textView.setX(seekBar.getX() + val + seekBar.getThumbOffset() / 2);
//textView.setY(100); just added a value set this properly using screen with height aspect ratio , if you do not set it by default it will be there below seek bar
}
也可以将Paint与不带任何TextView的自定义SeekBar类一起使用 创建类
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.SeekBar;
public class MySeekBar extends SeekBar {
public MySeekBar (Context context) {
super(context);
}
public MySeekBar (Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MySeekBar (Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas c) {
super.onDraw(c);
int thumb_x = (int) (( (double)this.getProgress()/this.getMax() ) * (double)this.getWidth());
float middle = (float) (this.getHeight());
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(20);
c.drawText(""+this.getProgress(), thumb_x, middle, paint);
}
}
7条答案
按热度按时间wz3gfoph1#
这里有一个简单的方法,
textView
seekBar
的移动改变其位置setX()
对其进行定位setY()
textView
可见性消失时,你需要。例如:
也可以将Paint与不带任何
TextView
的自定义SeekBar
类一起使用创建类
在XML中设置/创建
SeekBar
现在从您的活动
f1tvaqid2#
在xml文件中添加一个文本视图,可以使用如下的线性布局:
在java文件中,在seekbar onProgressChanged方法中更改文本视图文本:
dgsult0t3#
若要使文本视图真正与缩略图位置X的中心对齐
mv1qrgav4#
试试这个离散Seekbar库我找到here
最简单的方法是使用Materila Slider,它可以为您添加值标签,而无需编写textView来跟踪。
llew8vvj5#
看看这个library。你可以使用"范围搜索栏与单拇指到真“。
fkvaft9z6#
对于大多数情况,可接受的答案可能已经足够好了。但是,如果您希望文本精确地位于搜索条滑块的中间,则必须进行更多的计算。这是因为文本的宽度不同。例如,您希望显示从0到150的数字。宽度188将不同于111。因此,显示的文本将始终向某一侧倾斜。
解决这个问题的方法是测量文本的宽度,从seekbar缩略图的宽度中减去它,除以2,然后将它加到接受答案中给出的结果上。现在你不会关心数字范围有多大了。下面是代码:
yjghlzjz7#
使用下面的代码,我能够实现实时跟踪的文本视图与seekbar。我不得不根据需要修改