我使用 android-range-seek-bar 控件https://github.com/anthem/android-range-seek-bar https://github.com/anothem/android-range-seek-bar显示两个拇指控件,允许选择范围。
我希望指示条上所选最小值和最大值的文本格式为“hh:mm:ss”,我创建了一个函数ConvertSecondsToHMmSs
, 我怎样才能做到这一点?如1000L显示“00:00:01”
更多,我希望在最小值或最大值改变时做一些事情,但只有事件public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Long minValue, Long maxValue)
,它无法区分哪个值(最小值或最大值)发生了变化。我希望能够做到A当最小值改变时,做B当最大值改变时!
Code
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RangeSeekBar<Long> seekBar = (RangeSeekBar<Long>) findViewById(R.id.myRangeSeekBar);
seekBar.setRangeValues(1000L,2000L);
}
private String ConvertSecondsToHMmSs(long millis) {
return String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) -
TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
}
Layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:rsb="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<org.florescu.android.rangeseekbar.RangeSeekBar
android:id="@+id/myRangeSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
rsb:absoluteMaxValue="150"
rsb:absoluteMinValue="20"/>
</RelativeLayout>
构建.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.cuiwei.myapplication"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'org.florescu.android.rangeseekbar:rangeseekbar-library:0.3.0'
}