Update the background of the Daltonizer preview.

Add the corner radii in to be consistent with the Settings style.

Bug: 213440059
Test: manual test
Change-Id: I68edf243ae33e9bb1e39020ad7553451fad66477
This commit is contained in:
Peter_Liang
2022-01-06 20:55:21 +08:00
parent 1511407370
commit b408e19f4e
3 changed files with 19 additions and 1 deletions

View File

@@ -18,7 +18,9 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/preview_viewport" android:id="@+id/preview_viewport"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
<LinearLayout <LinearLayout
android:id="@+id/palette_view" android:id="@+id/palette_view"

View File

@@ -289,6 +289,7 @@
<dimen name="accessibility_layout_margin_start_end">16dp</dimen> <dimen name="accessibility_layout_margin_start_end">16dp</dimen>
<dimen name="accessibility_button_preference_padding_top_bottom">18dp</dimen> <dimen name="accessibility_button_preference_padding_top_bottom">18dp</dimen>
<dimen name="accessibility_imageview_size">176dp</dimen> <dimen name="accessibility_imageview_size">176dp</dimen>
<dimen name="accessibility_illustration_view_radius">28dp</dimen>
<!-- The margin between two Textviews--> <!-- The margin between two Textviews-->
<dimen name="accessibility_textview_layout_margin_bottom">24dp</dimen> <dimen name="accessibility_textview_layout_margin_bottom">24dp</dimen>

View File

@@ -148,6 +148,8 @@ public final class PaletteListPreference extends Preference {
rootView.addView(textView); rootView.addView(textView);
} }
updateFirstAndLastItemsBackground(context, rootView, paletteData.size());
} }
private GradientDrawable createGradientDrawable(ViewGroup rootView, @ColorInt int color) { private GradientDrawable createGradientDrawable(ViewGroup rootView, @ColorInt int color) {
@@ -164,6 +166,19 @@ public final class PaletteListPreference extends Preference {
return gradientDrawable; return gradientDrawable;
} }
private void updateFirstAndLastItemsBackground(Context context, ViewGroup rootView, int size) {
final int radius =
context.getResources().getDimensionPixelSize(
R.dimen.accessibility_illustration_view_radius);
final int lastIndex = size - 1;
final GradientDrawable firstItem =
(GradientDrawable) rootView.getChildAt(0).getBackground();
final GradientDrawable lastItem =
(GradientDrawable) rootView.getChildAt(lastIndex).getBackground();
firstItem.setCornerRadii(new float[]{radius, radius, radius, radius, 0, 0, 0, 0});
lastItem.setCornerRadii(new float[]{0, 0, 0, 0, radius, radius, radius, radius});
}
private List<Integer> getPaletteColors(Context context) { private List<Integer> getPaletteColors(Context context) {
final int[] paletteResources = final int[] paletteResources =
context.getResources().getIntArray(R.array.setting_palette_colors); context.getResources().getIntArray(R.array.setting_palette_colors);