优步点赞搜索栏 android
Uber like seek bar android
我想创建与 Uber 对搜索栏所做的相同的事情
是否有任何库可以帮助我实现这一目标?
尝试使用您自己的“progressDrawable
”和“thumb
”可绘制对象实现自定义 Seekbar
。然后以编程方式管理特定行为。
这就是我用来实现类似目标的方法:
<SeekBar
android:id="@+id/seekbar_task"
android:layout_width="330dp"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:max="100"
android:maxHeight="4dip"
android:minHeight="4dip"
android:progress="10"
android:progressDrawable="@drawable/progress_task"
android:splitTrack="false"
android:thumb="@drawable/tumb_task" />
在您的 Activity/Fragment 中实施 SeekBar.OnSeekBarChangeListener 以处理不同的状态
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
int mProgress = seekBar.getProgress();
if (mProgress > 0 & mProgress < 21) {
mSeekBar.setProgress(10);
sendStateResponse("TODO");
setBoldText(0);
} else if (mProgress > 20 & mProgress < 41) {
mSeekBar.setProgress(30);
sendStateResponse("START");
setBoldText(1);
} else if (mProgress > 40 & mProgress < 61) {
mSeekBar.setProgress(50);
sendStateResponse("STOP");
setBoldText(2);
} else if (mProgress > 60 & mProgress < 81) {
mSeekBar.setProgress(70);
sendStateResponse("CONTINUE");
setBoldText(3);
} else {
mSeekBar.setProgress(90);
sendStateResponse("FINISHED");
setBoldText(4);
}
}
我想创建与 Uber 对搜索栏所做的相同的事情
是否有任何库可以帮助我实现这一目标?
尝试使用您自己的“progressDrawable
”和“thumb
”可绘制对象实现自定义 Seekbar
。然后以编程方式管理特定行为。
这就是我用来实现类似目标的方法:
<SeekBar
android:id="@+id/seekbar_task"
android:layout_width="330dp"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:max="100"
android:maxHeight="4dip"
android:minHeight="4dip"
android:progress="10"
android:progressDrawable="@drawable/progress_task"
android:splitTrack="false"
android:thumb="@drawable/tumb_task" />
在您的 Activity/Fragment 中实施 SeekBar.OnSeekBarChangeListener 以处理不同的状态
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
int mProgress = seekBar.getProgress();
if (mProgress > 0 & mProgress < 21) {
mSeekBar.setProgress(10);
sendStateResponse("TODO");
setBoldText(0);
} else if (mProgress > 20 & mProgress < 41) {
mSeekBar.setProgress(30);
sendStateResponse("START");
setBoldText(1);
} else if (mProgress > 40 & mProgress < 61) {
mSeekBar.setProgress(50);
sendStateResponse("STOP");
setBoldText(2);
} else if (mProgress > 60 & mProgress < 81) {
mSeekBar.setProgress(70);
sendStateResponse("CONTINUE");
setBoldText(3);
} else {
mSeekBar.setProgress(90);
sendStateResponse("FINISHED");
setBoldText(4);
}
}