我的意思是上面那个自定义进度条 让他实现点击一下加一下
时间: 2023-11-18 14:04:22 浏览: 121
自定义进度条(带点击效果)
好的,下面是一个 Android Java 代码实现点击一下自定义进度条加一点的示例:
首先,在自定义进度条的`onTouchEvent`方法中添加点击事件的处理:
```
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 手指按下时将进度加1
setProgress(getProgress() + 1);
break;
default:
break;
}
return super.onTouchEvent(event);
}
```
在上述代码中,我们在`ACTION_DOWN`事件中实现了点击一下进度条加一点的功能,即将当前进度加1并更新进度条的进度。
然后,我们可以在`Activity`中使用自定义进度条,并为其设置监听器,以便在进度条的值发生改变时更新界面显示:
```
public class MainActivity extends AppCompatActivity {
private MyProgressBar mProgressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取自定义进度条控件
mProgressBar = findViewById(R.id.progress_bar);
// 为自定义进度条控件设置监听器
mProgressBar.setOnProgressChangeListener(new MyProgressBar.OnProgressChangeListener() {
@Override
public void onProgressChanged(MyProgressBar progressBar, int progress, boolean fromUser) {
// 进度改变时更新进度条的显示
progressBar.setProgressText(progress + "%");
}
@Override
public void onStartTrackingTouch(MyProgressBar progressBar) {
// 开始拖动时不做处理
}
@Override
public void onStopTrackingTouch(MyProgressBar progressBar) {
// 停止拖动时不做处理
}
});
}
}
```
在上述代码中,我们在`onCreate`方法中获取了自定义进度条控件,并为其设置了一个`OnProgressChangeListener`监听器,在监听器中实现了进度条值发生改变时更新界面的显示。注意,在自定义进度条的`onTouchEvent`方法中处理点击事件时,会触发`OnProgressChangeListener`监听器中的`onProgressChanged`方法,因此在这个方法中更新进度条的显示即可。
阅读全文