Add dividers on a few preferences

Fix: 36023418
Fix: 36058273

Test: visual
- On top of emergency preference
- On top of footer preference

Change-Id: Iefbbf0ad410d46c466f919ecb60b572dd6f1ea28
This commit is contained in:
Fan Zhang
2017-03-08 13:29:45 -08:00
parent e32788c630
commit fbefd9ea01
6 changed files with 20 additions and 23 deletions

View File

@@ -20,7 +20,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:background="?android:attr/selectableItemBackground"
@@ -31,12 +30,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="60dp"
android:gravity="start|center_vertical"
android:gravity="start|top"
android:orientation="horizontal"
android:paddingEnd="12dp"
android:paddingTop="4dp"
android:paddingTop="20dp"
android:paddingBottom="4dp">
<com.android.internal.widget.PreferenceImageView
<ImageView
android:id="@android:id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

View File

@@ -92,6 +92,8 @@
<attr name="apnPreferenceStyle" format="reference" />
<attr name="footerPreferenceStyle" format="reference" />
<!-- For Search -->
<declare-styleable name="Preference">
<attr name="keywords" format="string" />

View File

@@ -38,6 +38,11 @@
<item name="android:layout">@layout/apn_preference_layout</item>
</style>
<style name="FooterPreference" parent="SettingsPreference">
<item name="android:layout">@layout/preference_footer</item>
<item name="allowDividerAbove">true</item>
</style>
<style name="EditTextPreference"
parent="@style/Preference.DialogPreference.EditTextPreference.Material">
<item name="allowDividerAbove">false</item>

View File

@@ -81,6 +81,7 @@
<!-- Parent path frameworks/support/v14/preference/res/values/themes.xml -->
<item name="android:scrollbars">vertical</item>
<item name="apnPreferenceStyle">@style/ApnPreference</item>
<item name="footerPreferenceStyle">@style/FooterPreference</item>
<item name="dialogPreferenceStyle">@style/SettingsDialogPreference</item>
<item name="dropdownPreferenceStyle">@style/SettingsDropdownPreference</item>
<item name="editTextPreferenceStyle">@style/EditTextPreference</item>

View File

@@ -23,7 +23,8 @@
<Preference
android:key="emergency_info"
android:title="@string/emergency_info_title"
android:order="100"/>
android:order="100"
settings:allowDividerAbove="true"/>
<PreferenceCategory
android:key="account_configuration_header"

View File

@@ -17,6 +17,7 @@
package com.android.settings.widget;
import android.content.Context;
import android.support.v4.content.res.TypedArrayUtils;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.text.method.LinkMovementMethod;
@@ -34,36 +35,24 @@ public class FooterPreference extends Preference {
static final int ORDER_FOOTER = Integer.MAX_VALUE - 1;
static final String KEY_FOOTER = "footer_preference";
public FooterPreference(Context context, AttributeSet attrs,
int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init();
}
public FooterPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public FooterPreference(Context context, AttributeSet attrs) {
super(context, attrs);
super(context, attrs, TypedArrayUtils.getAttr(
context, R.attr.footerPreferenceStyle, android.R.attr.preferenceStyle));
init();
}
public FooterPreference(Context context) {
super(context);
init();
this(context, null);
}
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
TextView title = (TextView) holder.itemView.findViewById(android.R.id.title);
TextView title = holder.itemView.findViewById(android.R.id.title);
title.setMovementMethod(new LinkMovementMethod());
}
private void init() {
setLayoutResource(R.layout.preference_footer);
setIcon(R.drawable.ic_info_outline_24dp);
setKey(KEY_FOOTER);
setOrder(ORDER_FOOTER);