diff options
author | Danny Baumann <dannybaumann@web.de> | 2016-04-11 13:07:34 +0200 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-04-27 01:47:37 -0700 |
commit | b2c27cdb839074d5ea2b73568c239543760afe5d (patch) | |
tree | b88f036c6efbf1925fd10ac65abbe1089e935f8e | |
parent | 2bbd3ddae43eae12e2e50443312662e404363488 (diff) | |
download | packages_apps_Settings-b2c27cdb839074d5ea2b73568c239543760afe5d.zip packages_apps_Settings-b2c27cdb839074d5ea2b73568c239543760afe5d.tar.gz packages_apps_Settings-b2c27cdb839074d5ea2b73568c239543760afe5d.tar.bz2 |
Simplify and improve dream, LLS and weather provider layouts.
In particular, make sure the selection ripple extends to the edges of
the screen.
Change-Id: Ie5694dfea8fd14810895581e4e7daef15c8890c3
-rw-r--r-- | res/layout/dream_info_row.xml | 101 | ||||
-rw-r--r-- | res/layout/live_lock_screen_info_row.xml | 101 | ||||
-rw-r--r-- | res/layout/weather_service_provider_info_row.xml | 131 | ||||
-rw-r--r-- | src/com/android/settings/DreamSettings.java | 7 | ||||
-rw-r--r-- | src/com/android/settings/cyanogenmod/LiveLockScreenSettings.java | 7 | ||||
-rw-r--r-- | src/com/android/settings/cyanogenmod/WeatherServiceSettings.java | 7 |
6 files changed, 139 insertions, 215 deletions
diff --git a/res/layout/dream_info_row.xml b/res/layout/dream_info_row.xml index 7ed26cb..ef07c43 100644 --- a/res/layout/dream_info_row.xml +++ b/res/layout/dream_info_row.xml @@ -13,94 +13,69 @@ See the License for the specific language governing permissions and limitations under the License. --> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" + android:minHeight="?android:attr/listPreferredItemHeight" + android:orientation="horizontal" android:paddingStart="?android:attr/listPreferredItemPaddingStart" - android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> + android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" + android:background="?android:attr/selectableItemBackground" > - <!-- Dream selectable row (icon, caption, radio button) --> + <!-- Dream icon --> - <RelativeLayout - android:id="@android:id/widget_frame" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_toStartOf="@+id/divider" - android:clickable="true" - android:focusable="true" - android:background="?android:attr/selectableItemBackground" > - - <!-- Dream icon --> - - <ImageView - android:id="@android:id/icon" - android:layout_width="@android:dimen/app_icon_size" - android:layout_height="@android:dimen/app_icon_size" - android:layout_centerVertical="true" - android:layout_marginBottom="10dp" - android:layout_marginStart="0dp" - android:layout_marginEnd="6dp" - android:layout_marginTop="10dp" - android:contentDescription="@null" - android:maxHeight="@android:dimen/app_icon_size" - android:maxWidth="@android:dimen/app_icon_size" - android:scaleType="fitCenter" /> + <ImageView + android:id="@android:id/icon" + android:layout_width="@android:dimen/app_icon_size" + android:layout_height="@android:dimen/app_icon_size" + android:layout_gravity="center_vertical" + android:layout_marginEnd="6dp" + android:contentDescription="@null" + android:scaleType="fitCenter" /> - <!-- Dream caption --> + <!-- Dream caption --> - <TextView - android:id="@android:id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_centerVertical="true" - android:layout_toStartOf="@android:id/button1" - android:layout_toEndOf="@android:id/icon" - android:ellipsize="end" - android:singleLine="true" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textAlignment="viewStart" - android:labelFor="@android:id/button2" /> + <TextView + android:id="@android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_gravity="center_vertical" + android:ellipsize="end" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textAlignment="viewStart" /> - <!-- Dream radio button --> + <!-- Dream radio button --> - <RadioButton - android:id="@android:id/button1" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_alignParentEnd="true" - android:layout_centerVertical="true" - android:duplicateParentState="true" - android:clickable="false" - android:focusable="false" /> - </RelativeLayout> + <RadioButton + android:id="@+id/radio" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:duplicateParentState="true" + android:clickable="false" + android:focusable="false" /> <!-- Divider --> <ImageView - android:id="@id/divider" + android:id="@+id/divider" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_centerVertical="true" - android:layout_toStartOf="@android:id/button2" android:contentDescription="@null" android:src="@drawable/nav_divider" /> <!-- Settings icon --> <ImageView - android:id="@android:id/button2" + android:id="@+id/settings" android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_alignBottom="@android:id/widget_frame" - android:layout_alignParentEnd="true" - android:layout_alignTop="@android:id/widget_frame" - android:layout_centerVertical="true" - android:layout_margin="0dip" - android:background="?android:attr/selectableItemBackground" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" android:contentDescription="@string/screensaver_settings_button" android:padding="8dip" android:clickable="true" android:focusable="true" android:src="@drawable/ic_bt_config" /> -</RelativeLayout> +</LinearLayout> diff --git a/res/layout/live_lock_screen_info_row.xml b/res/layout/live_lock_screen_info_row.xml index 181e95e..d88e297 100644 --- a/res/layout/live_lock_screen_info_row.xml +++ b/res/layout/live_lock_screen_info_row.xml @@ -13,94 +13,71 @@ See the License for the specific language governing permissions and limitations under the License. --> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" +<!-- Live lock screen selectable row (icon, caption, radio button) --> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" + android:minHeight="?android:attr/listPreferredItemHeight" android:paddingStart="?android:attr/listPreferredItemPaddingStart" - android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> + android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" + android:background="?android:attr/selectableItemBackground" > - <!-- Live lock screen selectable row (icon, caption, radio button) --> + <!-- Live lock screen icon --> - <RelativeLayout - android:id="@android:id/widget_frame" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_toStartOf="@+id/divider" - android:clickable="true" - android:focusable="true" - android:background="?android:attr/selectableItemBackground" > - - <!-- Live lock screen icon --> - - <ImageView - android:id="@android:id/icon" - android:layout_width="@android:dimen/app_icon_size" - android:layout_height="@android:dimen/app_icon_size" - android:layout_centerVertical="true" - android:layout_marginBottom="10dp" - android:layout_marginStart="0dp" - android:layout_marginEnd="6dp" - android:layout_marginTop="10dp" - android:contentDescription="@null" - android:maxHeight="@android:dimen/app_icon_size" - android:maxWidth="@android:dimen/app_icon_size" - android:scaleType="fitCenter" /> + <ImageView + android:id="@android:id/icon" + android:layout_width="@android:dimen/app_icon_size" + android:layout_height="@android:dimen/app_icon_size" + android:layout_gravity="center_vertical" + android:layout_marginEnd="6dp" + android:contentDescription="@null" + android:scaleType="fitCenter" /> - <!-- Live lock screen caption --> + <!-- Live lock screen caption --> - <TextView - android:id="@android:id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_centerVertical="true" - android:layout_toStartOf="@android:id/button1" - android:layout_toEndOf="@android:id/icon" - android:ellipsize="end" - android:singleLine="true" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textAlignment="viewStart" - android:labelFor="@android:id/button2" /> + <TextView + android:id="@android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_gravity="center_vertical" + android:ellipsize="end" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textAlignment="viewStart" /> - <!-- Live lock screen radio button --> + <!-- Live lock screen radio button --> - <RadioButton - android:id="@android:id/button1" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_alignParentEnd="true" - android:layout_centerVertical="true" - android:duplicateParentState="true" - android:clickable="false" - android:focusable="false" /> - </RelativeLayout> + <RadioButton + android:id="@+id/radio" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_gravity="center_vertical" + android:duplicateParentState="true" + android:clickable="false" + android:focusable="false" /> <!-- Divider --> <ImageView - android:id="@id/divider" + android:id="@+id/divider" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_centerVertical="true" - android:layout_toStartOf="@android:id/button2" android:contentDescription="@null" android:src="@drawable/nav_divider" /> <!-- Settings icon --> <ImageView - android:id="@android:id/button2" + android:id="@+id/settings" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_alignBottom="@android:id/widget_frame" - android:layout_alignParentEnd="true" - android:layout_alignTop="@android:id/widget_frame" - android:layout_centerVertical="true" - android:layout_margin="0dip" - android:background="?android:attr/selectableItemBackground" + android:layout_gravity="center_vertical" + android:background="?android:attr/selectableItemBackgroundBorderless" android:contentDescription="@string/live_lock_screen_settings_button" android:padding="8dip" android:clickable="true" android:focusable="true" android:src="@drawable/ic_bt_config" /> -</RelativeLayout> +</LinearLayout> diff --git a/res/layout/weather_service_provider_info_row.xml b/res/layout/weather_service_provider_info_row.xml index 36d5470..676863e 100644 --- a/res/layout/weather_service_provider_info_row.xml +++ b/res/layout/weather_service_provider_info_row.xml @@ -13,92 +13,67 @@ See the License for the specific language governing permissions and limitations under the License. --> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" + android:minHeight="?android:attr/listPreferredItemHeight" android:paddingStart="?android:attr/listPreferredItemPaddingStart" - android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> + android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" + android:background="?android:attr/selectableItemBackground" > - <RelativeLayout - android:id="@android:id/widget_frame" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_toStartOf="@+id/divider" - android:clickable="true" - android:focusable="true" - android:background="?android:attr/selectableItemBackground" > + <!-- Weather Provider Service icon --> - <!-- Weather Provider Service icon --> - - <ImageView - android:id="@android:id/icon" - android:layout_width="@android:dimen/app_icon_size" - android:layout_height="@android:dimen/app_icon_size" - android:layout_centerVertical="true" - android:layout_marginBottom="10dp" - android:layout_marginStart="0dp" - android:layout_marginEnd="6dp" - android:layout_marginTop="10dp" - android:contentDescription="@null" - android:maxHeight="@android:dimen/app_icon_size" - android:maxWidth="@android:dimen/app_icon_size" - android:scaleType="fitCenter" /> - - <!-- Weather Provider Service caption --> - - <TextView - android:id="@android:id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_centerVertical="true" - android:layout_toStartOf="@android:id/button1" - android:layout_toEndOf="@android:id/icon" - android:ellipsize="end" - android:singleLine="true" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textAlignment="viewStart" - android:labelFor="@android:id/button2" /> - - <!-- Weather Provider Service radio button --> - - <RadioButton - android:id="@android:id/button1" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_alignParentEnd="true" - android:layout_centerVertical="true" - android:duplicateParentState="true" - android:clickable="false" - android:focusable="false" /> - - </RelativeLayout> + <ImageView + android:id="@android:id/icon" + android:layout_width="@android:dimen/app_icon_size" + android:layout_height="@android:dimen/app_icon_size" + android:layout_gravity="center_vertical" + android:layout_marginEnd="6dp" + android:contentDescription="@null" + android:scaleType="fitCenter" /> + + <!-- Weather Provider Service caption --> + + <TextView + android:id="@android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_gravity="center_vertical" + android:ellipsize="end" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textAlignment="viewStart" /> + + <!-- Weather Provider Service radio button --> + + <RadioButton + android:id="@+id/radio" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:duplicateParentState="true" + android:clickable="false" + android:focusable="false" /> <!-- Divider --> <ImageView - android:id="@id/divider" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_centerVertical="true" - android:layout_toStartOf="@android:id/button2" - android:contentDescription="@null" - android:src="@drawable/nav_divider" /> + android:id="@+id/divider" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:contentDescription="@null" + android:src="@drawable/nav_divider" /> <ImageView - android:id="@android:id/button2" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_alignBottom="@android:id/widget_frame" - android:layout_alignParentEnd="true" - android:layout_alignTop="@android:id/widget_frame" - android:layout_centerVertical="true" - android:layout_margin="0dip" - android:background="?android:attr/selectableItemBackground" - android:contentDescription="@string/weather_settings_button" - android:padding="8dip" - android:clickable="true" - android:focusable="true" - android:src="@drawable/ic_bt_config" /> - - -</RelativeLayout> + android:id="@+id/settings" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:background="?android:attr/selectableItemBackgroundBorderless" + android:contentDescription="@string/weather_settings_button" + android:padding="8dip" + android:clickable="true" + android:focusable="true" + android:src="@drawable/ic_bt_config" /> + +</LinearLayout> diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java index 8137cd4..8431721 100644 --- a/src/com/android/settings/DreamSettings.java +++ b/src/com/android/settings/DreamSettings.java @@ -307,7 +307,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements ((TextView) row.findViewById(android.R.id.title)).setText(dreamInfo.caption); // bind radio button - RadioButton radioButton = (RadioButton) row.findViewById(android.R.id.button1); + RadioButton radioButton = (RadioButton) row.findViewById(R.id.radio); radioButton.setChecked(dreamInfo.isActive); radioButton.setOnTouchListener(new OnTouchListener() { @Override @@ -321,7 +321,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements View settingsDivider = row.findViewById(R.id.divider); settingsDivider.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE); - ImageView settingsButton = (ImageView) row.findViewById(android.R.id.button2); + ImageView settingsButton = (ImageView) row.findViewById(R.id.settings); settingsButton.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE); settingsButton.setAlpha(dreamInfo.isActive ? 1f : Utils.DISABLED_ALPHA); settingsButton.setEnabled(dreamInfo.isActive); @@ -337,8 +337,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements private View createDreamInfoRow(ViewGroup parent) { final View row = mInflater.inflate(R.layout.dream_info_row, parent, false); - final View header = row.findViewById(android.R.id.widget_frame); - header.setOnClickListener(new OnClickListener(){ + row.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { v.setPressed(true); diff --git a/src/com/android/settings/cyanogenmod/LiveLockScreenSettings.java b/src/com/android/settings/cyanogenmod/LiveLockScreenSettings.java index 800e59c..17be5cd 100644 --- a/src/com/android/settings/cyanogenmod/LiveLockScreenSettings.java +++ b/src/com/android/settings/cyanogenmod/LiveLockScreenSettings.java @@ -215,7 +215,7 @@ public class LiveLockScreenSettings extends SettingsPreferenceFragment implement ((TextView) row.findViewById(android.R.id.title)).setText(liveLockScreenInfo.caption); // bind radio button - RadioButton radioButton = (RadioButton) row.findViewById(android.R.id.button1); + RadioButton radioButton = (RadioButton) row.findViewById(R.id.radio); radioButton.setChecked(liveLockScreenInfo.isActive); radioButton.setOnTouchListener(new OnTouchListener() { @Override @@ -229,7 +229,7 @@ public class LiveLockScreenSettings extends SettingsPreferenceFragment implement View settingsDivider = row.findViewById(R.id.divider); settingsDivider.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE); - ImageView settingsButton = (ImageView) row.findViewById(android.R.id.button2); + ImageView settingsButton = (ImageView) row.findViewById(R.id.settings); settingsButton.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE); settingsButton.setAlpha(liveLockScreenInfo.isActive ? 1f : Utils.DISABLED_ALPHA); settingsButton.setEnabled(liveLockScreenInfo.isActive); @@ -246,8 +246,7 @@ public class LiveLockScreenSettings extends SettingsPreferenceFragment implement private View createLiveLockScreenInfoRow(ViewGroup parent) { final View row = mInflater.inflate(R.layout.live_lock_screen_info_row, parent, false); - final View header = row.findViewById(android.R.id.widget_frame); - header.setOnClickListener(new OnClickListener(){ + row.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { v.setPressed(true); diff --git a/src/com/android/settings/cyanogenmod/WeatherServiceSettings.java b/src/com/android/settings/cyanogenmod/WeatherServiceSettings.java index 0fae5fd..55c0991 100644 --- a/src/com/android/settings/cyanogenmod/WeatherServiceSettings.java +++ b/src/com/android/settings/cyanogenmod/WeatherServiceSettings.java @@ -268,7 +268,7 @@ public class WeatherServiceSettings extends SettingsPreferenceFragment { ((TextView) row.findViewById(android.R.id.title)).setText(info.caption); - RadioButton radioButton = (RadioButton) row.findViewById(android.R.id.button1); + RadioButton radioButton = (RadioButton) row.findViewById(R.id.radio); radioButton.setChecked(info.isActive); radioButton.setOnTouchListener(new View.OnTouchListener() { @Override @@ -281,7 +281,7 @@ public class WeatherServiceSettings extends SettingsPreferenceFragment { boolean showSettings = info.settingsComponentName != null; View settingsDivider = row.findViewById(R.id.divider); settingsDivider.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE); - ImageView settingsButton = (ImageView) row.findViewById(android.R.id.button2); + ImageView settingsButton = (ImageView) row.findViewById(R.id.settings); settingsButton.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE); settingsButton.setAlpha(info.isActive ? 1f : Utils.DISABLED_ALPHA); settingsButton.setEnabled(info.isActive); @@ -320,8 +320,7 @@ public class WeatherServiceSettings extends SettingsPreferenceFragment { private View buildRow(ViewGroup parent) { final View row = mInflater.inflate(R.layout.weather_service_provider_info_row, parent, false); - final View header = row.findViewById(android.R.id.widget_frame); - header.setOnClickListener(new View.OnClickListener(){ + row.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { v.setPressed(true); |