Android基础控件(EditView、SeekBar等)的使用方法

2019-12-10 18:51:55王振洲

style: 设置style为水平样式,其他样式可以自己尝试。

// 将onClick() 改为
@Override
public void onClick(View view) {
  switch (view.getId()){
    case R.id.button_1:
      // 获取当前进度值,每次点击进度值+10
      int progress = progressBar.getProgress();
      progressBar.setProgress(progress + 10);
    default: break;
  }
}

6.SeekBar(滑动条)

6.1 基本样式

<SeekBar
  android:id="@+id/seek_bar"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:max="100"
  android:progress="50"
  />
<TextView
  android:id="@+id/text"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:gravity="center"
  />

max: 滑动条的最大值,设置为 100
progress: 初始化滑动条的值,设置为 50
6.2 注册滑动监听器

public class MainActivity extends Activity {
 
  private TextView textView;
   
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.text);
    SeekBar seekBar = (SeekBar) findViewById(R.id.seek_bar);
    // 设置滑动监听器,复写三个事件函数,分别是值改变、开始滑动、结束滑动
    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
      @Override
      public void onProgressChanged(SeekBar seekBar, int progress, 
          boolean fromUser) {
        if(fromUser){
          // 用户主动滑动,值改变时触发该事件
          textView.setText("用户正在滑动,当前值:" + progress);
        }
      }
 
      @Override
      public void onStartTrackingTouch(SeekBar seekBar) {
        Log.d("MainActivity","开始滑动时触发该事件");
      }
 
      @Override
      public void onStopTrackingTouch(SeekBar seekBar) {
        Log.d("MainActivity","结束滑动时触发该事件");
      }
    });
  }
}