diff options
author | Alan Viverette <alanv@google.com> | 2014-04-02 19:15:04 -0700 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2014-04-02 19:32:15 -0700 |
commit | 45dc35b3c9e7e1494c09f4ed167426da6d376a7d (patch) | |
tree | 310084e77f2446390f5034b54a91134ff05e19cd /core | |
parent | 1970f570714a4746bf592e26731ea0ee8933d363 (diff) | |
download | frameworks_base-45dc35b3c9e7e1494c09f4ed167426da6d376a7d.zip frameworks_base-45dc35b3c9e7e1494c09f4ed167426da6d376a7d.tar.gz frameworks_base-45dc35b3c9e7e1494c09f4ed167426da6d376a7d.tar.bz2 |
Fix dialog style, selectable item bg pinning, and pressed state
BUG: 13746931
Change-Id: I31c2959f3e773a3aeb66ba5842d8d6fbb288acc1
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/view/View.java | 7 | ||||
-rw-r--r-- | core/res/res/drawable/item_background_quantum.xml | 3 | ||||
-rw-r--r-- | core/res/res/layout/alert_dialog_quantum.xml | 55 | ||||
-rw-r--r-- | core/res/res/layout/dialog_custom_title_quantum.xml | 44 | ||||
-rw-r--r-- | core/res/res/layout/dialog_title_icons_quantum.xml | 65 | ||||
-rw-r--r-- | core/res/res/layout/dialog_title_quantum.xml | 46 | ||||
-rw-r--r-- | core/res/res/values/styles_quantum.xml | 16 | ||||
-rw-r--r-- | core/res/res/values/themes_quantum.xml | 12 |
8 files changed, 192 insertions, 56 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 5be4698..badd2c8 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -4847,10 +4847,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, final float x = r.exactCenterX(); final float y = r.exactCenterY(); - mBackground.setHotspot(Drawable.HOTSPOT_FOCUS, x, y); + mBackground.setHotspot(R.attr.state_focused, x, y); if (!focused) { - mBackground.removeHotspot(Drawable.HOTSPOT_FOCUS); + mBackground.removeHotspot(R.attr.state_focused); } } } @@ -9092,6 +9092,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } removeTapCallback(); + } else { + clearHotspot(R.attr.state_pressed); } break; @@ -9204,6 +9206,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ private void removeUnsetPressCallback() { if ((mPrivateFlags & PFLAG_PRESSED) != 0 && mUnsetPressedState != null) { + clearHotspot(R.attr.state_pressed); setPressed(false); removeCallbacks(mUnsetPressedState); } diff --git a/core/res/res/drawable/item_background_quantum.xml b/core/res/res/drawable/item_background_quantum.xml index f668ca0..11e1f67 100644 --- a/core/res/res/drawable/item_background_quantum.xml +++ b/core/res/res/drawable/item_background_quantum.xml @@ -15,4 +15,5 @@ --> <touch-feedback xmlns:android="http://schemas.android.com/apk/res/android" - android:tint="?attr/colorButtonPressed" /> + android:tint="?attr/colorButtonPressed" + android:pinned="true" /> diff --git a/core/res/res/layout/alert_dialog_quantum.xml b/core/res/res/layout/alert_dialog_quantum.xml index 4cc76ca..59dba08 100644 --- a/core/res/res/layout/alert_dialog_quantum.xml +++ b/core/res/res/layout/alert_dialog_quantum.xml @@ -20,33 +20,26 @@ android:id="@+id/parentPanel" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="8dip" - android:layout_marginEnd="8dip" android:orientation="vertical"> <LinearLayout android:id="@+id/topPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> - <View android:id="@+id/titleDividerTop" - android:layout_width="match_parent" - android:layout_height="2dip" - android:visibility="gone" - android:background="@android:color/holo_blue_light" /> <LinearLayout android:id="@+id/title_template" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical|start" - android:minHeight="@dimen/alert_dialog_title_height" - android:layout_marginStart="16dip" - android:layout_marginEnd="16dip"> + android:paddingStart="16dip" + android:paddingEnd="16dip" + android:paddingTop="16dip"> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingEnd="8dip" android:src="@null" /> - <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle" + <TextView android:id="@+id/alertTitle" style="?android:attr/windowTitleStyle" android:singleLine="true" android:ellipsize="end" @@ -54,11 +47,6 @@ android:layout_height="wrap_content" android:textAlignment="viewStart" /> </LinearLayout> - <View android:id="@+id/titleDivider" - android:layout_width="match_parent" - android:layout_height="2dip" - android:visibility="gone" - android:background="@android:color/holo_blue_light" /> <!-- If the client uses a customTitle, it will be added here. --> </LinearLayout> @@ -78,8 +66,7 @@ android:layout_height="wrap_content" android:paddingStart="16dip" android:paddingEnd="16dip" - android:paddingTop="8dip" - android:paddingBottom="8dip"/> + android:paddingTop="16dip" /> </ScrollView> </LinearLayout> @@ -98,7 +85,7 @@ android:layout_height="wrap_content" android:minHeight="@dimen/alert_dialog_button_bar_height" android:orientation="vertical" - android:dividerPadding="0dip"> + android:padding="16dip"> <LinearLayout style="?android:attr/buttonBarStyle" android:layout_width="match_parent" @@ -106,33 +93,33 @@ android:orientation="horizontal" android:layoutDirection="locale" android:measureWithLargestChild="true"> - <Button android:id="@+id/button2" + <Button android:id="@+id/button3" android:layout_width="wrap_content" + android:layout_height="wrap_content" android:layout_gravity="start" - android:layout_weight="1" + android:layout_marginRight="8dip" android:maxLines="2" - style="?android:attr/buttonBarButtonStyle" - android:textSize="14sp" android:minHeight="@dimen/alert_dialog_button_bar_height" - android:layout_height="wrap_content" /> - <Button android:id="@+id/button3" - android:layout_width="wrap_content" - android:layout_gravity="center_horizontal" + style="?android:attr/buttonBarButtonStyle" /> + <View android:layout_width="0dp" + android:layout_height="0dp" android:layout_weight="1" + android:visibility="invisible" /> + <Button android:id="@+id/button2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end" + android:layout_marginRight="8dip" android:maxLines="2" - style="?android:attr/buttonBarButtonStyle" - android:textSize="14sp" android:minHeight="@dimen/alert_dialog_button_bar_height" - android:layout_height="wrap_content" /> + style="?android:attr/buttonBarButtonStyle" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" + android:layout_height="wrap_content" android:layout_gravity="end" - android:layout_weight="1" android:maxLines="2" android:minHeight="@dimen/alert_dialog_button_bar_height" - style="?android:attr/buttonBarButtonStyle" - android:textSize="14sp" - android:layout_height="wrap_content" /> + style="?android:attr/buttonBarButtonStyle" /> </LinearLayout> </LinearLayout> </LinearLayout> diff --git a/core/res/res/layout/dialog_custom_title_quantum.xml b/core/res/res/layout/dialog_custom_title_quantum.xml new file mode 100644 index 0000000..f8a2bf7 --- /dev/null +++ b/core/res/res/layout/dialog_custom_title_quantum.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2011 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. +--> + +<!-- +This is a custom layout for a dialog. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:fitsSystemWindows="true"> + <FrameLayout android:id="@android:id/title_container" + android:layout_width="match_parent" + android:layout_height="@dimen/alert_dialog_title_height" + android:layout_weight="0" + android:gravity="center_vertical|start" + style="?android:attr/windowTitleBackgroundStyle"> + </FrameLayout> + <View android:id="@+id/titleDivider" + android:layout_width="match_parent" + android:layout_height="2dip" + android:background="@android:color/holo_blue_light" /> + <FrameLayout + android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_weight="1" + android:orientation="vertical" + android:foreground="?android:attr/windowContentOverlay"> + <FrameLayout android:id="@android:id/content" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + </FrameLayout> +</LinearLayout> diff --git a/core/res/res/layout/dialog_title_icons_quantum.xml b/core/res/res/layout/dialog_title_icons_quantum.xml new file mode 100644 index 0000000..e3d771c --- /dev/null +++ b/core/res/res/layout/dialog_title_icons_quantum.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2011 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. +--> + +<!-- +This is an optimized layout for a screen, with the minimum set of features +enabled. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:fitsSystemWindows="true"> + + <LinearLayout android:id="@+id/title_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:gravity="center_vertical" + android:minHeight="@android:dimen/alert_dialog_title_height" + android:paddingStart="16dip" + android:paddingEnd="16dip"> + <ImageView android:id="@+id/left_icon" + android:layout_width="32dip" + android:layout_height="32dip" + android:scaleType="fitCenter" + android:layout_marginEnd="8dip" /> + <TextView android:id="@android:id/title" + style="?android:attr/windowTitleStyle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" /> + <ImageView android:id="@+id/right_icon" + android:layout_width="32dip" + android:layout_height="32dip" + android:scaleType="fitCenter" + android:layout_marginStart="8dip" /> + </LinearLayout> + + <View android:id="@+id/titleDivider" + android:layout_width="match_parent" + android:layout_height="1dip" + android:background="@android:color/holo_blue_light" /> + + <FrameLayout + android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_weight="1" + android:orientation="vertical" + android:foreground="?android:attr/windowContentOverlay"> + <FrameLayout android:id="@android:id/content" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + </FrameLayout> +</LinearLayout> diff --git a/core/res/res/layout/dialog_title_quantum.xml b/core/res/res/layout/dialog_title_quantum.xml new file mode 100644 index 0000000..0a692ee --- /dev/null +++ b/core/res/res/layout/dialog_title_quantum.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2011, 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. +*/ + +This is an optimized layout for a screen, with the minimum set of features +enabled. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:fitsSystemWindows="true"> + <TextView android:id="@android:id/title" style="?android:attr/windowTitleStyle" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="@android:dimen/alert_dialog_title_height" + android:paddingStart="16dip" + android:paddingEnd="16dip" + android:gravity="center_vertical|start" /> + <View android:id="@+id/titleDivider" + android:layout_width="match_parent" + android:layout_height="2dip" + android:background="@android:color/holo_blue_light" /> + <FrameLayout + android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_weight="1" + android:orientation="vertical" + android:foreground="?android:attr/windowContentOverlay"> + <FrameLayout android:id="@android:id/content" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + </FrameLayout> +</LinearLayout> diff --git a/core/res/res/values/styles_quantum.xml b/core/res/res/values/styles_quantum.xml index 84a1ca4..85d8761 100644 --- a/core/res/res/values/styles_quantum.xml +++ b/core/res/res/values/styles_quantum.xml @@ -394,6 +394,7 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.Button" parent="Widget.Button"> <item name="background">@drawable/btn_default_quantum</item> <item name="textAppearance">?attr/textAppearanceButton</item> + <item name="textColor">?attr/textColorPrimary</item> <item name="minHeight">48dip</item> <item name="minWidth">96dip</item> </style> @@ -443,23 +444,13 @@ please see styles_device_defaults.xml. </style> <style name="Widget.Quantum.ButtonBar"> - <item name="paddingTop">0dip</item> - <item name="paddingStart">0dip</item> - <item name="paddingEnd">0dip</item> - <item name="paddingBottom">0dip</item> - <item name="divider">?attr/dividerVertical</item> - <item name="showDividers">middle</item> - <item name="dividerPadding">12dip</item> <item name="background">@null</item> </style> <style name="Widget.Quantum.ButtonBar.AlertDialog"> <item name="background">@null</item> - <item name="dividerPadding">0dp</item> </style> - <style name="Widget.Quantum.ButtonBar.Button"/> - <style name="Widget.Quantum.SegmentedButton" parent="SegmentedButton"> <item name="background">@drawable/btn_group_holo_dark</item> </style> @@ -740,7 +731,7 @@ please see styles_device_defaults.xml. <item name="contentDescription">@string/action_menu_overflow_description</item> </style> - <style name="Widget.Quantum.ActionButton.TextButton" parent="Widget.Quantum.ButtonBar.Button"/> + <style name="Widget.Quantum.ActionButton.TextButton" parent="Widget.Quantum.ButtonBar"/> <style name="Widget.Quantum.ActionBar.TabView" parent="Widget.ActionBar.TabView"> <item name="background">@drawable/tab_indicator_quantum</item> @@ -1063,8 +1054,7 @@ please see styles_device_defaults.xml. <style name="WindowTitle.Quantum"> <item name="singleLine">true</item> <item name="textAppearance">@style/TextAppearance.Quantum.WindowTitle</item> - <item name="shadowColor">#BB000000</item> - <item name="shadowRadius">2.75</item> + <item name="shadowRadius">0</item> </style> <style name="DialogWindowTitle.Quantum"> diff --git a/core/res/res/values/themes_quantum.xml b/core/res/res/values/themes_quantum.xml index 7284f6d..50f1ca6 100644 --- a/core/res/res/values/themes_quantum.xml +++ b/core/res/res/values/themes_quantum.xml @@ -162,9 +162,9 @@ please see themes_device_defaults.xml. <!-- Dialog attributes --> <item name="dialogTheme">@style/Theme.Quantum.Dialog</item> - <item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons_holo</item> - <item name="dialogCustomTitleDecorLayout">@layout/dialog_custom_title_holo</item> - <item name="dialogTitleDecorLayout">@layout/dialog_title_holo</item> + <item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons_quantum</item> + <item name="dialogCustomTitleDecorLayout">@layout/dialog_custom_title_quantum</item> + <item name="dialogTitleDecorLayout">@layout/dialog_title_quantum</item> <!-- AlertDialog attributes --> <item name="alertDialogTheme">@style/Theme.Quantum.Dialog.Alert</item> @@ -488,9 +488,9 @@ please see themes_device_defaults.xml. <!-- Dialog attributes --> <item name="dialogTheme">@style/Theme.Quantum.Light.Dialog</item> - <item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons_holo</item> - <item name="dialogCustomTitleDecorLayout">@layout/dialog_custom_title_holo</item> - <item name="dialogTitleDecorLayout">@layout/dialog_title_holo</item> + <item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons_quantum</item> + <item name="dialogCustomTitleDecorLayout">@layout/dialog_custom_title_quantum</item> + <item name="dialogTitleDecorLayout">@layout/dialog_title_quantum</item> <!-- AlertDialog attributes --> <item name="alertDialogTheme">@style/Theme.Quantum.Light.Dialog.Alert</item> |