mirror of
https://github.com/material-components/material-components-android.git
synced 2026-02-20 08:39:55 +08:00
[Catalog][Slider] consolidate slider switches to a single switch
PiperOrigin-RevId: 435719291
This commit is contained in:
parent
0d91f4ac3b
commit
315c496cf8
@ -23,12 +23,12 @@ import androidx.appcompat.widget.SwitchCompat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.material.slider.BasicLabelFormatter;
|
||||
import com.google.android.material.slider.LabelFormatter;
|
||||
import com.google.android.material.slider.Slider;
|
||||
import io.material.catalog.feature.DemoFragment;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Fragment to display a few basic uses of the {@link Slider} widget in discrete mode for the
|
||||
@ -43,23 +43,25 @@ public class SliderDiscreteDemoFragment extends DemoFragment {
|
||||
View view =
|
||||
inflater.inflate(R.layout.cat_slider_demo_discrete, viewGroup, false /* attachToRoot */);
|
||||
|
||||
setUpSlider(view, R.id.switch_button_1, R.id.slider_1, null);
|
||||
setUpSlider(view, R.id.switch_button_2, R.id.slider_2, null);
|
||||
setUpSlider(view, R.id.switch_button_3, R.id.slider_3, null);
|
||||
setUpSlider(view, R.id.switch_button_4, R.id.slider_4, new BasicLabelFormatter());
|
||||
setUpSlider(view, R.id.switch_button_5, R.id.slider_5, null);
|
||||
setUpSlider(view, R.id.switch_button_6, R.id.slider_6, null);
|
||||
Slider withLabelFormatter = view.findViewById(R.id.slider_4);
|
||||
withLabelFormatter.setLabelFormatter(new BasicLabelFormatter());
|
||||
List<Slider> sliders = Arrays.asList(
|
||||
view.findViewById(R.id.slider_1),
|
||||
view.findViewById(R.id.slider_2),
|
||||
view.findViewById(R.id.slider_3),
|
||||
withLabelFormatter,
|
||||
view.findViewById(R.id.slider_5),
|
||||
view.findViewById(R.id.slider_6)
|
||||
);
|
||||
sliders.get(3).setLabelFormatter(new BasicLabelFormatter());
|
||||
SwitchCompat switchButton = view.findViewById(R.id.switch_button);
|
||||
|
||||
switchButton.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||
for (Slider slider : sliders) {
|
||||
slider.setEnabled(isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
private void setUpSlider(
|
||||
View view, @IdRes int switchId, @IdRes int sliderId, LabelFormatter labelFormatter) {
|
||||
final Slider slider = view.findViewById(sliderId);
|
||||
slider.setLabelFormatter(labelFormatter);
|
||||
SwitchCompat switchButton = view.findViewById(switchId);
|
||||
switchButton.setOnCheckedChangeListener(
|
||||
(buttonView, isChecked) -> slider.setEnabled(isChecked));
|
||||
switchButton.setChecked(true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,11 +38,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/switch_button_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider_1"
|
||||
android:layout_width="0dp"
|
||||
@ -66,11 +61,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/switch_button_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider_2"
|
||||
android:layout_width="0dp"
|
||||
@ -94,11 +84,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/switch_button_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider_3"
|
||||
android:layout_width="0dp"
|
||||
@ -122,11 +107,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/switch_button_4"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider_4"
|
||||
android:layout_width="0dp"
|
||||
@ -150,11 +130,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/switch_button_5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider_5"
|
||||
android:layout_width="0dp"
|
||||
@ -178,11 +153,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/switch_button_6"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider_6"
|
||||
android:layout_width="0dp"
|
||||
@ -195,5 +165,13 @@
|
||||
android:stepSize="1"
|
||||
app:tickVisible="false"/>
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/switch_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:checked="true"
|
||||
android:text="@string/cat_slider_enabled"/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
Discrete sliders allow users to select a specific value from a range.
|
||||
</string>
|
||||
|
||||
<string name="cat_slider_enabled" description="">Enabled</string>
|
||||
<string name="cat_slider_set" description="The label for a set button [CHAR LIMIT=NONE]">Set</string>
|
||||
<string name="cat_slider_title_1" description="The title for the first demonstration slider [CHAR LIMIT=NONE]">This one goes to eleven</string>
|
||||
<string name="cat_slider_title_2" description="The title for a demonstration slider [CHAR LIMIT=NONE]">From 100 to 1000</string>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user