Kal*_*ahu 3 java authentication android android-tv
对于 AndroidTV,我创建了一个简单的搜索栏和文本视图。我正在尝试对齐搜索栏拇指的文本视图并尝试随着进度移动。
获取文本视图的 x 位置的示例代码逻辑
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(final SeekBar seekBar, final int progress, boolean fromUser) {
if (fromUser) {
int width = seekBar.getWidth()
- seekBar.getPaddingLeft()
- seekBar.getPaddingRight();
float thumbPos = width
* seekBar.getProgress()
/ seekBar.getMax();
textView.setX(width );
}
}
}
Run Code Online (Sandbox Code Playgroud)
XML
<TextView
android:id="@+id/textView"
android:layout_width="160dp"
android:layout_height="90dp"
android:layout_gravity="start"
android:background="#ffff00"/>
<SeekBar
android:id="@+id/previewSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:min="1"
android:max="10"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
预期的
抱歉回答晚了,您的逻辑是正确的,但需要进行一些更改。
float thumbPos = width * (seekBar.getProgress() / (float)seekBar.getMax())
textView.setTranslationX(thumbPos) ;
Run Code Online (Sandbox Code Playgroud)
seekBar.getProgress()是一个int并且seekBar.getMax()也是一个int,如果将它们相除,它们将返回整数值,但是我们需要浮点数(十进制),这就是我添加更改的原因
| 归档时间: |
|
| 查看次数: |
1716 次 |
| 最近记录: |