如何动态更改textview位置?

how to dynamically change textview location?

我有一个显示搜索栏值的文本视图。我想在 scrubber/slider 的顶部显示该文本视图,因为它被用户左右拉动。 我需要什么代码才能执行此操作?

    SeekBar seekBar = (SeekBar)findViewById(R.id.seekBar);
    final TextView seekBarValue = (TextView)findViewById(R.id.seekervalue);

    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                                      boolean fromUser) {
            // TODO Auto-generated method stub
            seekBarValue.setText(String.valueOf(progress));
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
        }
    });

只需在 onProgressChanged 方法中使用 TextView.setX(float X)(如果您需要垂直移动)TextView.setY(float Y)

只需根据需要调整值即可。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final TextView tv=(TextView)findViewById(R.id.textView);
        SeekBar sb=(SeekBar)findViewById(R.id.seekBar);
        final float startpos=tv.getX();
        sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                tv.setX(startpos+progress);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
    }
}