diff options
author | 2025-01-13 20:46:32 +0000 | |
---|---|---|
committer | 2025-01-16 05:18:31 +0000 | |
commit | 66cce00f05c0a9a98fa25273402657c29f9b6b72 (patch) | |
tree | 2a9b1752713fd6b4a974306ad70f224e1d81844c | |
parent | a4e6cc06acba11f1a150b276aed28048a279075c (diff) |
[Exressive design] Update ActionButtons style
- update disable state color
- handle text when icon is null
Bug: 381034472
Flag: EXEMPT library update
Test: visual test
Change-Id: I01f36845b72f29f3870ab2db0ef2db3a9fa40d6b
4 files changed, 58 insertions, 4 deletions
diff --git a/packages/SettingsLib/ActionButtonsPreference/res/color/settingslib_expressive_actionbutton_background.xml b/packages/SettingsLib/ActionButtonsPreference/res/color/settingslib_expressive_actionbutton_background.xml new file mode 100644 index 000000000000..ec9ee2211259 --- /dev/null +++ b/packages/SettingsLib/ActionButtonsPreference/res/color/settingslib_expressive_actionbutton_background.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2025 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_enabled="false" + android:color="@color/settingslib_materialColorSurface"/> + <item android:state_checked="true" android:color="?attr/colorContainerChecked"/> + <item android:state_checkable="true" android:color="?attr/colorContainerUnchecked"/> + <item android:color="@color/settingslib_materialColorPrimaryContainer" /> +</selector>
\ No newline at end of file diff --git a/packages/SettingsLib/ActionButtonsPreference/res/color/settingslib_expressive_actionbutton_content_color.xml b/packages/SettingsLib/ActionButtonsPreference/res/color/settingslib_expressive_actionbutton_content_color.xml new file mode 100644 index 000000000000..0488cbaead22 --- /dev/null +++ b/packages/SettingsLib/ActionButtonsPreference/res/color/settingslib_expressive_actionbutton_content_color.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2025 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_enabled="false" + android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface"/> + <item android:state_checkable="true" android:state_checked="true" + android:color="?attr/colorOnContainerChecked"/> + <item android:state_checkable="true" android:color="?attr/colorOnContainerUnchecked"/> + <item android:color="@color/settingslib_materialColorOnPrimaryContainer"/> +</selector>
\ No newline at end of file diff --git a/packages/SettingsLib/ActionButtonsPreference/res/values-v35/styles_expressive.xml b/packages/SettingsLib/ActionButtonsPreference/res/values-v35/styles_expressive.xml index fd8cecb8536e..267c9f65e104 100644 --- a/packages/SettingsLib/ActionButtonsPreference/res/values-v35/styles_expressive.xml +++ b/packages/SettingsLib/ActionButtonsPreference/res/values-v35/styles_expressive.xml @@ -17,9 +17,14 @@ <resources> <style name="SettingsLibActionButton.Expressive" parent="SettingsLibButtonStyle.Expressive.Tonal"> - <item name="android:backgroundTint">@color/settingslib_materialColorPrimaryContainer</item> - <item name="iconTint">@color/settingslib_materialColorOnPrimaryContainer</item> - <item name="iconGravity">textTop</item> + <item name="android:backgroundTint">@color/settingslib_expressive_actionbutton_background</item> + <item name="android:textColor">@color/settingslib_expressive_actionbutton_content_color</item> + <item name="android:insetTop">@dimen/settingslib_expressive_space_none</item> + <item name="android:insetBottom">@dimen/settingslib_expressive_space_none</item> + <item name="iconTint">@color/settingslib_expressive_actionbutton_content_color</item> + <item name="iconSize">@dimen/settingslib_expressive_space_small4</item> + <item name="iconPadding">@dimen/settingslib_expressive_space_none</item>" + <item name="iconGravity">textStart</item> </style> <style name="SettingsLibActionButton.Expressive.Label" parent=""> diff --git a/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java b/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java index 601e001f48c2..0027d632319b 100644 --- a/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java +++ b/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java @@ -549,7 +549,7 @@ public class ActionButtonsPreference extends Preference implements GroupSectionD ((MaterialButton) mButton).setIcon(mIcon); } mButton.setEnabled(mIsEnabled); - mActionLayout.setOnClickListener(mListener); + mButton.setOnClickListener(mListener); mActionLayout.setEnabled(mIsEnabled); mActionLayout.setContentDescription(mText); } else { |