diff options
| -rw-r--r-- | core/java/android/preference/Preference.java | 2 | ||||
| -rw-r--r-- | core/res/res/layout/preference.xml | 27 | ||||
| -rw-r--r-- | core/res/res/layout/preference_category.xml | 1 | ||||
| -rw-r--r-- | core/res/res/layout/preference_category_holo.xml | 22 | ||||
| -rw-r--r-- | core/res/res/layout/preference_child_holo.xml | 75 | ||||
| -rw-r--r-- | core/res/res/layout/preference_holo.xml | 76 | ||||
| -rw-r--r-- | core/res/res/layout/preference_information.xml | 11 | ||||
| -rw-r--r-- | core/res/res/layout/preference_information_holo.xml | 64 | ||||
| -rw-r--r-- | core/res/res/values/styles.xml | 50 | ||||
| -rw-r--r-- | core/res/res/values/themes.xml | 42 |
10 files changed, 320 insertions, 50 deletions
diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java index e869f3f8cbc5..7d37e5bdf11d 100644 --- a/core/java/android/preference/Preference.java +++ b/core/java/android/preference/Preference.java @@ -285,7 +285,7 @@ public class Preference implements Comparable<Preference>, OnDependencyChangeLis * @see #Preference(Context, AttributeSet, int) */ public Preference(Context context, AttributeSet attrs) { - this(context, attrs, 0); + this(context, attrs, com.android.internal.R.attr.preferenceStyle); } /** diff --git a/core/res/res/layout/preference.xml b/core/res/res/layout/preference.xml index 6bd5efafdb6c..1f92252b2d8d 100644 --- a/core/res/res/layout/preference.xml +++ b/core/res/res/layout/preference.xml @@ -24,36 +24,30 @@ android:gravity="center_vertical" android:paddingRight="?android:attr/scrollbarSize"> - <LinearLayout + <ImageView + android:id="@+android:id/icon" android:layout_width="wrap_content" - android:layout_height="match_parent" - android:minWidth="@dimen/preference_widget_width" - android:gravity="center" - android:orientation="horizontal"> - <ImageView - android:id="@+android:id/icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" - /> - </LinearLayout> + android:layout_height="wrap_content" + android:layout_gravity="center" + /> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginLeft="15dip" android:layout_marginRight="6dip" android:layout_marginTop="6dip" android:layout_marginBottom="6dip" android:layout_weight="1"> - + <TextView android:id="@+android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" - android:textAppearance="?android:attr/textAppearanceMedium" + android:textAppearance="?android:attr/textAppearanceLarge" android:ellipsize="marquee" android:fadingEdge="horizontal" /> - + <TextView android:id="@+android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -69,8 +63,7 @@ <LinearLayout android:id="@+android:id/widget_frame" android:layout_width="wrap_content" android:layout_height="match_parent" - android:minWidth="@dimen/preference_widget_width" - android:gravity="center" + android:gravity="center_vertical" android:orientation="vertical" /> </LinearLayout> diff --git a/core/res/res/layout/preference_category.xml b/core/res/res/layout/preference_category.xml index 7ffdc9af1f7a..280d952ac512 100644 --- a/core/res/res/layout/preference_category.xml +++ b/core/res/res/layout/preference_category.xml @@ -18,5 +18,4 @@ <TextView xmlns:android="http://schemas.android.com/apk/res/android" style="?android:attr/listSeparatorTextViewStyle" android:id="@+android:id/title" - android:paddingLeft="32dp" /> diff --git a/core/res/res/layout/preference_category_holo.xml b/core/res/res/layout/preference_category_holo.xml new file mode 100644 index 000000000000..5fe8b28f18bc --- /dev/null +++ b/core/res/res/layout/preference_category_holo.xml @@ -0,0 +1,22 @@ +<?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. +--> + +<!-- Layout used for PreferenceCategory in a PreferenceActivity. --> +<TextView xmlns:android="http://schemas.android.com/apk/res/android" + style="?android:attr/listSeparatorTextViewStyle" + android:id="@+android:id/title" + android:paddingLeft="32dp" +/> diff --git a/core/res/res/layout/preference_child_holo.xml b/core/res/res/layout/preference_child_holo.xml new file mode 100644 index 000000000000..2e70d77cdc03 --- /dev/null +++ b/core/res/res/layout/preference_child_holo.xml @@ -0,0 +1,75 @@ +<?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. +--> + +<!-- Layout for a visually child-like Preference in a PreferenceActivity. --> +<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:gravity="center_vertical" + android:paddingLeft="16dip" + android:paddingRight="?android:attr/scrollbarSize"> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:minWidth="@dimen/preference_widget_width" + android:gravity="center" + android:orientation="horizontal"> + <ImageView + android:id="@+android:id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + /> + </LinearLayout> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginRight="6dip" + android:layout_marginTop="6dip" + android:layout_marginBottom="6dip" + android:layout_weight="1"> + + <TextView android:id="@+android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:ellipsize="marquee" + android:fadingEdge="horizontal" /> + + <TextView android:id="@+android:id/summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@android:id/title" + android:layout_alignLeft="@android:id/title" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="?android:attr/textColorSecondary" + android:maxLines="4" /> + + </RelativeLayout> + + <!-- Preference should place its actual preference widget here. --> + <LinearLayout android:id="@+android:id/widget_frame" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:minWidth="@dimen/preference_widget_width" + android:gravity="center" + android:orientation="vertical" /> + +</LinearLayout> diff --git a/core/res/res/layout/preference_holo.xml b/core/res/res/layout/preference_holo.xml new file mode 100644 index 000000000000..c448f6432784 --- /dev/null +++ b/core/res/res/layout/preference_holo.xml @@ -0,0 +1,76 @@ +<?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. +--> + +<!-- Layout for a Preference in a PreferenceActivity. The + Preference is able to place a specific widget for its particular + type in the "widget_frame" layout. --> +<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:gravity="center_vertical" + android:paddingRight="?android:attr/scrollbarSize"> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:minWidth="@dimen/preference_widget_width" + android:gravity="center" + android:orientation="horizontal"> + <ImageView + android:id="@+android:id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + /> + </LinearLayout> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginRight="6dip" + android:layout_marginTop="6dip" + android:layout_marginBottom="6dip" + android:layout_weight="1"> + + <TextView android:id="@+android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:ellipsize="marquee" + android:fadingEdge="horizontal" /> + + <TextView android:id="@+android:id/summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@android:id/title" + android:layout_alignLeft="@android:id/title" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="?android:attr/textColorSecondary" + android:maxLines="4" /> + + </RelativeLayout> + + <!-- Preference should place its actual preference widget here. --> + <LinearLayout android:id="@+android:id/widget_frame" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:minWidth="@dimen/preference_widget_width" + android:gravity="center" + android:orientation="vertical" /> + +</LinearLayout> diff --git a/core/res/res/layout/preference_information.xml b/core/res/res/layout/preference_information.xml index 9c9b83ebf3bb..32cbb9055301 100644 --- a/core/res/res/layout/preference_information.xml +++ b/core/res/res/layout/preference_information.xml @@ -24,13 +24,10 @@ android:gravity="center_vertical" android:paddingRight="?android:attr/scrollbarSize"> - <View - android:layout_width="@dimen/preference_widget_width" - android:layout_height="match_parent" /> - <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginLeft="16sp" android:layout_marginRight="6sp" android:layout_marginTop="6sp" android:layout_marginBottom="6sp" @@ -40,9 +37,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" - android:textAppearance="?android:attr/textAppearanceMedium" + android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="?android:attr/textColorSecondary" /> - + <TextView android:id="@+android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -53,7 +50,7 @@ android:maxLines="2" /> </RelativeLayout> - + <!-- Preference should place its actual preference widget here. --> <LinearLayout android:id="@+android:id/widget_frame" android:layout_width="wrap_content" diff --git a/core/res/res/layout/preference_information_holo.xml b/core/res/res/layout/preference_information_holo.xml new file mode 100644 index 000000000000..d6cc063efa3e --- /dev/null +++ b/core/res/res/layout/preference_information_holo.xml @@ -0,0 +1,64 @@ +<?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. +--> + +<!-- Layout for a Preference in a PreferenceActivity. The + Preference is able to place a specific widget for its particular + type in the "widget_frame" layout. --> +<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:gravity="center_vertical" + android:paddingRight="?android:attr/scrollbarSize"> + + <View + android:layout_width="@dimen/preference_widget_width" + android:layout_height="match_parent" /> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginRight="6sp" + android:layout_marginTop="6sp" + android:layout_marginBottom="6sp" + android:layout_weight="1"> + + <TextView android:id="@+android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textColor="?android:attr/textColorSecondary" /> + + <TextView android:id="@+android:id/summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@android:id/title" + android:layout_alignLeft="@android:id/title" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="?android:attr/textColorSecondary" + android:maxLines="2" /> + + </RelativeLayout> + + <!-- Preference should place its actual preference widget here. --> + <LinearLayout android:id="@+android:id/widget_frame" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:gravity="center_vertical" + android:orientation="vertical" /> + +</LinearLayout> diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index c4e815e86ebc..a3660470ca19 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -889,22 +889,66 @@ <item name="android:positiveButtonText">@android:string/ok</item> <item name="android:negativeButtonText">@android:string/cancel</item> </style> - + <style name="Preference.DialogPreference.YesNoPreference"> <item name="android:positiveButtonText">@android:string/yes</item> <item name="android:negativeButtonText">@android:string/no</item> </style> - + <style name="Preference.DialogPreference.EditTextPreference"> <item name="android:dialogLayout">@android:layout/preference_dialog_edittext</item> </style> - + <style name="Preference.RingtonePreference"> <item name="android:ringtoneType">ringtone</item> <item name="android:showSilent">true</item> <item name="android:showDefault">true</item> </style> + <style name="Preference.Holo"> + <item name="android:layout">@android:layout/preference_holo</item> + </style> + + <style name="Preference.Holo.Information"> + <item name="android:layout">@android:layout/preference_information_holo</item> + <item name="android:enabled">false</item> + <item name="android:shouldDisableView">false</item> + </style> + + <style name="Preference.Holo.Category"> + <item name="android:layout">@android:layout/preference_category_holo</item> + <!-- The title should not dim if the category is disabled, instead only the preference children should dim. --> + <item name="android:shouldDisableView">false</item> + <item name="android:selectable">false</item> + </style> + + <style name="Preference.Holo.CheckBoxPreference"> + <item name="android:widgetLayout">@android:layout/preference_widget_checkbox</item> + </style> + + <style name="Preference.Holo.PreferenceScreen"> + </style> + + <style name="Preference.Holo.DialogPreference"> + <item name="android:positiveButtonText">@android:string/ok</item> + <item name="android:negativeButtonText">@android:string/cancel</item> + </style> + + <style name="Preference.Holo.DialogPreference.YesNoPreference"> + <item name="android:positiveButtonText">@android:string/yes</item> + <item name="android:negativeButtonText">@android:string/no</item> + </style> + + <style name="Preference.Holo.DialogPreference.EditTextPreference"> + <item name="android:dialogLayout">@android:layout/preference_dialog_edittext</item> + </style> + + <style name="Preference.Holo.RingtonePreference"> + <item name="android:ringtoneType">ringtone</item> + <item name="android:showSilent">true</item> + <item name="android:showDefault">true</item> + </style> + <!-- No margins or background by default. Could be different for x-large screens --> <style name="PreferencePanel"> </style> diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index 744d0d8ffef5..506dd0756998 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -924,18 +924,18 @@ <item name="quickContactBadgeStyleSmallWindowLarge">@android:style/Widget.Holo.QuickContactBadgeSmall.WindowLarge</item> <item name="listPopupWindowStyle">@android:style/Widget.Holo.ListPopupWindow</item> <item name="popupMenuStyle">@android:style/Widget.Holo.PopupMenu</item> - + <!-- Preference styles --> - <item name="preferenceScreenStyle">@android:style/Preference.PreferenceScreen</item> - <item name="preferenceCategoryStyle">@android:style/Preference.Category</item> - <item name="preferenceStyle">@android:style/Preference</item> - <item name="preferenceInformationStyle">@android:style/Preference.Information</item> - <item name="checkBoxPreferenceStyle">@android:style/Preference.CheckBoxPreference</item> - <item name="yesNoPreferenceStyle">@android:style/Preference.DialogPreference.YesNoPreference</item> - <item name="dialogPreferenceStyle">@android:style/Preference.DialogPreference</item> - <item name="editTextPreferenceStyle">@android:style/Preference.DialogPreference.EditTextPreference</item> - <item name="ringtonePreferenceStyle">@android:style/Preference.RingtonePreference</item> - <item name="preferenceLayoutChild">@android:layout/preference_child</item> + <item name="preferenceScreenStyle">@android:style/Preference.Holo.PreferenceScreen</item> + <item name="preferenceCategoryStyle">@android:style/Preference.Holo.Category</item> + <item name="preferenceStyle">@android:style/Preference.Holo</item> + <item name="preferenceInformationStyle">@android:style/Preference.Holo.Information</item> + <item name="checkBoxPreferenceStyle">@android:style/Preference.Holo.CheckBoxPreference</item> + <item name="yesNoPreferenceStyle">@android:style/Preference.Holo.DialogPreference.YesNoPreference</item> + <item name="dialogPreferenceStyle">@android:style/Preference.Holo.DialogPreference</item> + <item name="editTextPreferenceStyle">@android:style/Preference.Holo.DialogPreference.EditTextPreference</item> + <item name="ringtonePreferenceStyle">@android:style/Preference.Holo.RingtonePreference</item> + <item name="preferenceLayoutChild">@android:layout/preference_child_holo</item> <item name="detailsElementBackground">@android:drawable/panel_bg_holo_dark</item> <!-- Search widget styles --> @@ -1187,16 +1187,16 @@ <item name="popupMenuStyle">@android:style/Widget.Holo.Light.PopupMenu</item> <!-- Preference styles --> - <item name="preferenceScreenStyle">@android:style/Preference.PreferenceScreen</item> - <item name="preferenceCategoryStyle">@android:style/Preference.Category</item> - <item name="preferenceStyle">@android:style/Preference</item> - <item name="preferenceInformationStyle">@android:style/Preference.Information</item> - <item name="checkBoxPreferenceStyle">@android:style/Preference.CheckBoxPreference</item> - <item name="yesNoPreferenceStyle">@android:style/Preference.DialogPreference.YesNoPreference</item> - <item name="dialogPreferenceStyle">@android:style/Preference.DialogPreference</item> - <item name="editTextPreferenceStyle">@android:style/Preference.DialogPreference.EditTextPreference</item> - <item name="ringtonePreferenceStyle">@android:style/Preference.RingtonePreference</item> - <item name="preferenceLayoutChild">@android:layout/preference_child</item> + <item name="preferenceScreenStyle">@android:style/Preference.Holo.PreferenceScreen</item> + <item name="preferenceCategoryStyle">@android:style/Preference.Holo.Category</item> + <item name="preferenceStyle">@android:style/Preference.Holo</item> + <item name="preferenceInformationStyle">@android:style/Preference.Holo.Information</item> + <item name="checkBoxPreferenceStyle">@android:style/Preference.Holo.CheckBoxPreference</item> + <item name="yesNoPreferenceStyle">@android:style/Preference.Holo.DialogPreference.YesNoPreference</item> + <item name="dialogPreferenceStyle">@android:style/Preference.Holo.DialogPreference</item> + <item name="editTextPreferenceStyle">@android:style/Preference.Holo.DialogPreference.EditTextPreference</item> + <item name="ringtonePreferenceStyle">@android:style/Preference.Holo.RingtonePreference</item> + <item name="preferenceLayoutChild">@android:layout/preference_child_holo</item> <item name="detailsElementBackground">@android:drawable/panel_bg_holo_light</item> <!-- Search widget styles --> |