搜索栏,我可以用 2 个大拇指更改最小最大值
Seekbar where I can change both min max value with 2 thumbs
我想为我的搜索栏设置最小值和最大值。您应该能够独立拖动两个拇指。
android中的普通搜索栏不能有两个可以更改的拇指。
改为使用 Material 组件库中的 Slider。
https://material.io/components/sliders/#
我们需要包含的依赖项是:
implementation 'com.google.android.material:material:1.2.0-alpha05'
测试此滑块的示例布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.google.android.material.slider.Slider
android:id="@+id/slider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:value="12.34"
android:valueFrom="0.0"
android:valueTo="50.0" />
<com.google.android.material.slider.Slider
android:id="@+id/rangeSlider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:valueFrom="0.0"
android:valueTo="100.0" />
</LinearLayout>
在你的 activity 中用两个拇指设置范围滑块:
Slider rangeSlider = findViewById(R.id.rangeSlider);
rangeSlider.setValues(0.0F, rangeSlider.getMaximumValue());
在您的 styles.xml 中,将 AppCompat 更改为 MaterialComponents,如下所示:
From: parent="Theme.AppCompat.Light.DarkActionBar">
To: parent="Theme.MaterialComponents.Light.DarkActionBar">
现在我们有了一个带有两个拇指的滑块!
只需使用 Material 组件中的 RangeSlider
和方法 setValues()
<com.google.android.material.slider.RangeSlider
android:id="@+id/slider"
android:valueFrom="0"
android:valueTo="10"
../>
与:
RangeSlider slider = findViewById(R.id.slider);
slider.setValues(1.0f,5.0f);
您还可以使用:
<com.google.android.material.slider.RangeSlider
android:id="@+id/slider"
android:valueFrom="0"
android:valueTo="10"
app:values="@array/initial_slider_values"
../>
与 res/values/arrays.xml
:
<resources>
<array name="initial_slider_values">
<item>1.0</item>
<item>5.0</item>
</array>
</resources>
注意:这需要最低版本1.2.0-beta01
我想为我的搜索栏设置最小值和最大值。您应该能够独立拖动两个拇指。
android中的普通搜索栏不能有两个可以更改的拇指。
改为使用 Material 组件库中的 Slider。 https://material.io/components/sliders/#
我们需要包含的依赖项是:
implementation 'com.google.android.material:material:1.2.0-alpha05'
测试此滑块的示例布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.google.android.material.slider.Slider
android:id="@+id/slider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:value="12.34"
android:valueFrom="0.0"
android:valueTo="50.0" />
<com.google.android.material.slider.Slider
android:id="@+id/rangeSlider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:valueFrom="0.0"
android:valueTo="100.0" />
</LinearLayout>
在你的 activity 中用两个拇指设置范围滑块:
Slider rangeSlider = findViewById(R.id.rangeSlider);
rangeSlider.setValues(0.0F, rangeSlider.getMaximumValue());
在您的 styles.xml 中,将 AppCompat 更改为 MaterialComponents,如下所示:
From: parent="Theme.AppCompat.Light.DarkActionBar">
To: parent="Theme.MaterialComponents.Light.DarkActionBar">
现在我们有了一个带有两个拇指的滑块!
只需使用 Material 组件中的 RangeSlider
和方法 setValues()
<com.google.android.material.slider.RangeSlider
android:id="@+id/slider"
android:valueFrom="0"
android:valueTo="10"
../>
与:
RangeSlider slider = findViewById(R.id.slider);
slider.setValues(1.0f,5.0f);
您还可以使用:
<com.google.android.material.slider.RangeSlider
android:id="@+id/slider"
android:valueFrom="0"
android:valueTo="10"
app:values="@array/initial_slider_values"
../>
与 res/values/arrays.xml
:
<resources>
<array name="initial_slider_values">
<item>1.0</item>
<item>5.0</item>
</array>
</resources>
注意:这需要最低版本1.2.0-beta01