Push scrollbars to screen edges.

Push scrollbar to screen edges on custom ListView and ScrollViews to
match Preferences framework behavior.

Bug: 7633165
Change-Id: Ideecd0e243c7de7bf977caef2b1585e707a00ca4
This commit is contained in:
Jeff Sharkey
2012-11-30 12:36:53 -08:00
parent 6f8cd76870
commit 97d07fa3ae
18 changed files with 219 additions and 159 deletions

View File

@@ -22,23 +22,23 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<include layout="@layout/title" <include layout="@layout/title" />
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ImageView <ImageView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@*android:dimen/preference_fragment_padding_side"
android:layout_marginEnd="@*android:dimen/preference_fragment_padding_side"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="?android:attr/listDivider" /> android:src="?android:attr/listDivider" />
<ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/list" <ListView
android:id="@android:id/list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dip" android:layout_height="0dip"
android:layout_weight="1" android:layout_weight="1"
android:drawSelectorOnTop="false" android:clipToPadding="false"
android:scrollbarAlwaysDrawVerticalTrack="true" android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle" />
/>
<TextView android:id="@+id/sync_settings_error_info" <TextView android:id="@+id/sync_settings_error_info"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -48,32 +48,6 @@
android:drawablePadding="8dip" android:drawablePadding="8dip"
android:drawableLeft="@drawable/ic_sync_error_holo" /> android:drawableLeft="@drawable/ic_sync_error_holo" />
<!--
<LinearLayout android:id="@+id/remove_account_area"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@android:drawable/bottom_bar">
<View
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"/>
<Button android:id="@+id/remove_account_button"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_marginTop="5dip"
android:text="@string/remove_account_label" />
<View
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"/>
</LinearLayout>
-->
<RelativeLayout android:id="@+id/finish_button_area" <RelativeLayout android:id="@+id/finish_button_area"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -19,12 +19,14 @@
<ScrollView <ScrollView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle">
<LinearLayout <LinearLayout
android:id="@+id/all_details" android:id="@+id/all_details"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingEnd="6dip"
android:paddingBottom="5dip" android:paddingBottom="5dip"
android:orientation="vertical"> android:orientation="vertical">
@@ -33,16 +35,14 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:orientation="vertical" android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="6dip" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingStart="6dip" android:orientation="vertical">
android:paddingTop="5dip"
android:paddingBottom="5dip" >
<!-- Application snippet label, version and icon --> <!-- Application snippet label, version and icon -->
<include <include
layout="@layout/manage_applications_item" layout="@layout/manage_applications_item"
android:id="@+id/app_snippet"/> android:id="@+id/app_snippet" />
<!-- Force stop and uninstall buttons --> <!-- Force stop and uninstall buttons -->
<include <include
@@ -58,8 +58,8 @@
<CheckBox android:id="@+id/notification_switch" <CheckBox android:id="@+id/notification_switch"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="12dip"
android:layout_gravity="start" android:layout_gravity="start"
android:layout_marginTop="4dip"
android:text="@string/app_notifications_switch_label" /> android:text="@string/app_notifications_switch_label" />
</LinearLayout> </LinearLayout>
@@ -72,8 +72,9 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="6dip" android:orientation="vertical"
android:orientation="vertical"> android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -87,9 +88,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" android:maxLines="1"
android:paddingTop="6dip" android:paddingTop="6dip" />
android:paddingStart="6dip"/>
<ImageView <ImageView
android:id="@+id/info_size_dots" android:id="@+id/info_size_dots"
android:src="@drawable/dotted_line_480px" android:src="@drawable/dotted_line_480px"
@@ -105,13 +104,12 @@
<TextView <TextView
android:id="@+id/total_size_text" android:id="@+id/total_size_text"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingEnd="6dip"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" /> android:maxLines="1" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -125,8 +123,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" android:maxLines="1"
android:paddingTop="6dip" android:paddingTop="6dip" />
android:paddingStart="6dip"/>
<ImageView <ImageView
android:id="@+id/info_size_dots" android:id="@+id/info_size_dots"
android:src="@drawable/dotted_line_480px" android:src="@drawable/dotted_line_480px"
@@ -143,11 +140,9 @@
android:id="@+id/application_size_text" android:id="@+id/application_size_text"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingEnd="6dip"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" /> android:maxLines="1" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@@ -163,8 +158,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" android:maxLines="1"
android:paddingTop="6dip" android:paddingTop="6dip" />
android:paddingStart="6dip"/>
<ImageView <ImageView
android:id="@+id/info_size_dots" android:id="@+id/info_size_dots"
android:src="@drawable/dotted_line_480px" android:src="@drawable/dotted_line_480px"
@@ -181,11 +175,9 @@
android:id="@+id/external_code_size_text" android:id="@+id/external_code_size_text"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingEnd="6dip"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" /> android:maxLines="1" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@@ -202,8 +194,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" android:maxLines="1"
android:paddingTop="6dip" android:paddingTop="6dip" />
android:paddingStart="6dip"/>
<ImageView <ImageView
android:id="@+id/info_size_dots" android:id="@+id/info_size_dots"
android:src="@drawable/dotted_line_480px" android:src="@drawable/dotted_line_480px"
@@ -220,11 +211,9 @@
android:id="@+id/data_size_text" android:id="@+id/data_size_text"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingEnd="6dip"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" /> android:maxLines="1" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@@ -240,8 +229,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" android:maxLines="1"
android:paddingTop="6dip" android:paddingTop="6dip" />
android:paddingStart="6dip"/>
<ImageView <ImageView
android:id="@+id/info_size_dots" android:id="@+id/info_size_dots"
android:src="@drawable/dotted_line_480px" android:src="@drawable/dotted_line_480px"
@@ -258,11 +246,9 @@
android:id="@+id/external_data_size_text" android:id="@+id/external_data_size_text"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingEnd="6dip"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" /> android:maxLines="1" />
</LinearLayout> </LinearLayout>
<!-- Clear data and install location buttons --> <!-- Clear data and install location buttons -->
@@ -289,6 +275,8 @@
android:orientation="horizontal" android:orientation="horizontal"
android:baselineAligned="true" android:baselineAligned="true"
android:layout_below="@id/cache_header" android:layout_below="@id/cache_header"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingTop="-1dip"> android:paddingTop="-1dip">
<TextView <TextView
android:text="@string/cache_size_label" android:text="@string/cache_size_label"
@@ -297,8 +285,7 @@
android:maxLines="1" android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingTop="6dip" android:paddingTop="6dip"
android:gravity="center_vertical" android:gravity="center_vertical" />
android:paddingStart="6dip"/>
<ImageView <ImageView
android:src="@drawable/dotted_line_480px" android:src="@drawable/dotted_line_480px"
android:layout_width="0dip" android:layout_width="0dip"
@@ -314,19 +301,36 @@
android:id="@+id/cache_size_text" android:id="@+id/cache_size_text"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingEnd="6dip"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:maxLines="1" /> android:maxLines="1" />
</LinearLayout> </LinearLayout>
<Button android:id="@+id/clear_cache_button" <LinearLayout
android:layout_alignParentEnd="true" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/cache_size" android:layout_below="@id/cache_size"
android:layout_centerHorizontal="true" android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:layout_width="200dip" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:text="@string/clear_cache_btn_text" android:paddingTop="4dip"
android:layout_height="wrap_content" /> android:orientation="horizontal">
<View
android:layout_width="120dip"
android:layout_height="0dip"
android:layout_weight="0.4" />
<View
android:layout_width="0dip"
android:layout_height="0dip"
android:visibility="invisible"
android:layout_weight="0.2" />
<Button
android:id="@+id/clear_cache_button"
android:layout_width="120dip"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:text="@string/clear_cache_btn_text" />
</LinearLayout>
</RelativeLayout> </RelativeLayout>
<!-- Prefered activities section --> <!-- Prefered activities section -->
@@ -338,22 +342,38 @@
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"> android:layout_gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
<TextView android:id="@+id/auto_launch" <TextView android:id="@+id/auto_launch"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="6dip" android:paddingTop="6dip" />
android:paddingEnd="6dip"
android:paddingStart="6dip" /> <LinearLayout
<Button android:id="@+id/clear_activities_button" android:layout_width="match_parent"
android:layout_alignParentEnd="true" android:layout_height="wrap_content"
android:layout_below="@id/auto_launch" android:layout_below="@id/auto_launch"
android:layout_centerHorizontal="true" android:paddingTop="4dip"
android:layout_width="200dip" android:orientation="horizontal">
android:text="@string/clear_activities" <View
android:layout_height="wrap_content" /> android:layout_width="120dip"
android:layout_height="0dip"
android:layout_weight="0.4" />
<View
android:layout_width="0dip"
android:layout_height="0dip"
android:visibility="invisible"
android:layout_weight="0.2" />
<Button
android:id="@+id/clear_activities_button"
android:layout_width="120dip"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:text="@string/clear_activities" />
</LinearLayout>
</RelativeLayout> </RelativeLayout>
<!-- Screen compatibility section --> <!-- Screen compatibility section -->
@@ -371,8 +391,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingEnd="6dip" android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingStart="6dip" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:text="@string/screen_compatibility_text"/> android:text="@string/screen_compatibility_text"/>
<CheckBox android:id="@+id/ask_compatibility_cb" <CheckBox android:id="@+id/ask_compatibility_cb"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -403,8 +423,9 @@
android:textColor="#ffffb060" android:textColor="#ffffb060"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingStart="6dip"
android:paddingBottom="6dip" android:paddingBottom="6dip"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<LinearLayout <LinearLayout
@@ -426,8 +447,9 @@
android:text="@string/security_settings_desc" android:text="@string/security_settings_desc"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
android:paddingTop="6dip" android:paddingTop="6dip"
android:paddingStart="6dip"
android:paddingBottom="6dip" android:paddingBottom="6dip"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<LinearLayout <LinearLayout

View File

@@ -27,9 +27,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dip" android:layout_height="0dip"
android:layout_weight="1" android:layout_weight="1"
android:drawSelectorOnTop="false" android:clipToPadding="false"
android:scrollbarAlwaysDrawVerticalTrack="true" android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle" />
/>
<TextView android:id="@+id/sync_settings_error_info" <TextView android:id="@+id/sync_settings_error_info"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -30,6 +30,7 @@
android:drawSelectorOnTop="false" android:drawSelectorOnTop="false"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle" /> android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle" />
<TextView android:id="@android:id/empty" <TextView android:id="@android:id/empty"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -17,7 +17,10 @@
<ScrollView <ScrollView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle">
<LinearLayout <LinearLayout
android:id="@+id/all_details" android:id="@+id/all_details"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -19,7 +19,10 @@
<ScrollView <ScrollView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle">
<LinearLayout <LinearLayout
android:id="@+id/all_details" android:id="@+id/all_details"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -29,8 +32,8 @@
<!-- Summary information as per previous screen --> <!-- Summary information as per previous screen -->
<include <include
layout="@layout/running_processes_item" layout="@layout/running_processes_item"
android:id="@+id/snippet"/> android:id="@+id/snippet" />
</LinearLayout> </LinearLayout>
</ScrollView>
</ScrollView>

View File

@@ -29,9 +29,9 @@
<TextView android:id="@+id/comp_description" <TextView android:id="@+id/comp_description"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="8dp"
android:paddingBottom="8dp" android:paddingBottom="8dp"
android:paddingStart="14dip" android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:textAppearance="?android:attr/textAppearanceMedium" /> android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout> </LinearLayout>

View File

@@ -33,16 +33,23 @@
layout="@layout/running_processes_item" layout="@layout/running_processes_item"
android:id="@+id/service"/> android:id="@+id/service"/>
<TextView android:id="@+id/comp_description" <LinearLayout
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="8dp" android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingBottom="8dp" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingStart="14dip" android:orientation="vertical">
android:textAppearance="?android:attr/textAppearanceMedium" />
<include <TextView android:id="@+id/comp_description"
layout="@layout/two_buttons_panel" android:layout_width="wrap_content"
android:id="@+id/control_buttons_panel"/> android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
<include
layout="@layout/two_buttons_panel"
android:id="@+id/control_buttons_panel" />
</LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -19,46 +19,45 @@
<!-- The title area at the top of the settings pane --> <!-- The title area at the top of the settings pane -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/title_area" android:id="@+id/title_area"
android:orientation="horizontal"> android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@*android:dimen/preference_fragment_padding_side"
android:layout_marginEnd="@*android:dimen/preference_fragment_padding_side"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:columnCount="2">
<ImageView android:id="@+id/provider_icon" <ImageView
android:layout_width="48dip" android:id="@+id/provider_icon"
android:layout_height="48dip" android:layout_width="@android:dimen/app_icon_size"
android:layout_margin="5dip" android:layout_height="@android:dimen/app_icon_size"
android:layout_gravity="center_vertical" android:layout_rowSpan="2"
android:layout_marginEnd="8dip"
android:scaleType="centerInside"
android:contentDescription="@null" /> android:contentDescription="@null" />
<LinearLayout <TextView
android:id="@+id/user_id"
android:layout_width="0dip" android:layout_width="0dip"
android:layout_weight="1" android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content" android:layout_marginTop="2dip"
android:orientation="vertical"> android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textAlignment="viewStart" />
<TextView <TextView
android:id="@+id/user_id" android:id="@+id/provider_id"
android:layout_width="match_parent" android:layout_width="0dip"
android:layout_height="wrap_content" android:layout_gravity="fill_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium" android:singleLine="true"
android:textColor="?android:attr/textColorTertiary" android:ellipsize="marquee"
android:textStyle="bold" android:textAppearance="?android:attr/textAppearanceSmall"
android:singleLine="true" android:textAlignment="viewStart" />
android:ellipsize="end"
android:gravity="center_vertical"
android:layout_marginTop="5dip"/>
<TextView </GridLayout>
android:id="@+id/provider_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorTertiary"
android:singleLine="true"
android:ellipsize="end"
android:layout_gravity="bottom"
android:layout_marginBottom="5dip"/>
</LinearLayout>
</LinearLayout>

View File

@@ -24,8 +24,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="bottom" android:gravity="bottom"
android:paddingTop="4dip" android:paddingTop="4dip"
android:paddingStart="2dip"
android:paddingEnd="2dip"
android:orientation="horizontal"> android:orientation="horizontal">
<Button <Button
android:id="@+id/left_button" android:id="@+id/left_button"

View File

@@ -19,6 +19,10 @@ package com.android.settings;
import android.app.Dialog; import android.app.Dialog;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment; import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment;
@@ -49,6 +53,15 @@ public class LocalePicker extends com.android.internal.app.LocalePicker
} }
} }
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = super.onCreateView(inflater, container, savedInstanceState);
final ListView list = (ListView) view.findViewById(android.R.id.list);
Utils.forcePrepareCustomPreferencesList(container, view, list, false);
return view;
}
@Override @Override
public void onLocaleSelected(final Locale locale) { public void onLocaleSelected(final Locale locale) {
if (Utils.hasMultipleUsers(getActivity())) { if (Utils.hasMultipleUsers(getActivity())) {

View File

@@ -419,13 +419,20 @@ public class Utils {
return statusString; return statusString;
} }
public static void forcePrepareCustomPreferencesList(
ViewGroup parent, View child, ListView list, boolean ignoreSidePadding) {
list.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
list.setClipToPadding(false);
prepareCustomPreferencesList(parent, child, list, ignoreSidePadding);
}
/** /**
* Prepare a custom preferences layout, moving padding to {@link ListView} * Prepare a custom preferences layout, moving padding to {@link ListView}
* when outside scrollbars are requested. Usually used to display * when outside scrollbars are requested. Usually used to display
* {@link ListView} and {@link TabWidget} with correct padding. * {@link ListView} and {@link TabWidget} with correct padding.
*/ */
public static void prepareCustomPreferencesList( public static void prepareCustomPreferencesList(
ViewGroup parent, View child, ListView list, boolean ignoreSidePadding) { ViewGroup parent, View child, View list, boolean ignoreSidePadding) {
final boolean movePadding = list.getScrollBarStyle() == View.SCROLLBARS_OUTSIDE_OVERLAY; final boolean movePadding = list.getScrollBarStyle() == View.SCROLLBARS_OUTSIDE_OVERLAY;
if (movePadding && parent instanceof PreferenceFrameLayout) { if (movePadding && parent instanceof PreferenceFrameLayout) {
((PreferenceFrameLayout.LayoutParams) child.getLayoutParams()).removeBorders = true; ((PreferenceFrameLayout.LayoutParams) child.getLayoutParams()).removeBorders = true;

View File

@@ -23,10 +23,12 @@ import android.content.Context;
import android.content.res.XmlResourceParser; import android.content.res.XmlResourceParser;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView; import android.widget.ListView;
import android.widget.SimpleAdapter; import android.widget.SimpleAdapter;
@@ -154,6 +156,15 @@ public class ZonePicker extends ListFragment {
setHasOptionsMenu(true); setHasOptionsMenu(true);
} }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = super.onCreateView(inflater, container, savedInstanceState);
final ListView list = (ListView) view.findViewById(android.R.id.list);
Utils.forcePrepareCustomPreferencesList(container, view, list, false);
return view;
}
@Override @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.add(0, MENU_ALPHABETICAL, 0, R.string.zone_list_menu_sort_alphabetically) menu.add(0, MENU_ALPHABETICAL, 0, R.string.zone_list_menu_sort_alphabetically)

View File

@@ -47,9 +47,11 @@ import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils;
import com.google.android.collect.Lists; import com.google.android.collect.Lists;
import com.google.android.collect.Maps; import com.google.android.collect.Maps;
@@ -149,7 +151,10 @@ public class AccountSyncSettings extends AccountPreferenceBase {
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.account_sync_screen, container, false); final View view = inflater.inflate(R.layout.account_sync_screen, container, false);
final ListView list = (ListView) view.findViewById(android.R.id.list);
Utils.prepareCustomPreferencesList(container, view, list, false);
initializeUi(view); initializeUi(view);
return view; return view;

View File

@@ -46,12 +46,14 @@ import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.CompoundButton; import android.widget.CompoundButton;
import android.widget.ListView;
import android.widget.Switch; import android.widget.Switch;
import android.widget.TextView; import android.widget.TextView;
import com.android.settings.AccountPreference; import com.android.settings.AccountPreference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Settings; import com.android.settings.Settings;
import com.android.settings.Utils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@@ -101,6 +103,8 @@ public class ManageAccountsSettings extends AccountPreferenceBase
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.manage_accounts_screen, container, false); final View view = inflater.inflate(R.layout.manage_accounts_screen, container, false);
final ListView list = (ListView) view.findViewById(android.R.id.list);
Utils.prepareCustomPreferencesList(container, view, list, false);
return view; return view;
} }

View File

@@ -424,9 +424,12 @@ public class InstalledAppDetails extends Fragment
} }
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(
View view = mRootView = inflater.inflate(R.layout.installed_app_details, null); LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.installed_app_details, container, false);
Utils.prepareCustomPreferencesList(container, view, view, false);
mRootView = view;
mComputingStr = getActivity().getText(R.string.computing_size); mComputingStr = getActivity().getText(R.string.computing_size);
// Set default values on sizes // Set default values on sizes
@@ -536,7 +539,9 @@ public class InstalledAppDetails extends Fragment
// Utility method to set applicaiton label and icon. // Utility method to set applicaiton label and icon.
private void setAppLabelAndIcon(PackageInfo pkgInfo) { private void setAppLabelAndIcon(PackageInfo pkgInfo) {
View appSnippet = mRootView.findViewById(R.id.app_snippet); final View appSnippet = mRootView.findViewById(R.id.app_snippet);
appSnippet.setPadding(0, appSnippet.getPaddingTop(), 0, appSnippet.getPaddingBottom());
ImageView icon = (ImageView) appSnippet.findViewById(R.id.app_icon); ImageView icon = (ImageView) appSnippet.findViewById(R.id.app_icon);
mState.ensureIcon(mAppEntry); mState.ensureIcon(mAppEntry);
icon.setImageDrawable(mAppEntry.icon); icon.setImageDrawable(mAppEntry.icon);

View File

@@ -1,7 +1,5 @@
package com.android.settings.applications; package com.android.settings.applications;
import com.android.settings.R;
import android.app.Activity; import android.app.Activity;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.AlertDialog; import android.app.AlertDialog;
@@ -18,9 +16,9 @@ import android.content.Intent;
import android.content.IntentSender; import android.content.IntentSender;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ProviderInfo; import android.content.pm.ProviderInfo;
import android.content.pm.ServiceInfo; import android.content.pm.ServiceInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.os.Debug; import android.os.Debug;
@@ -35,6 +33,9 @@ import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.Utils;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
@@ -507,12 +508,14 @@ public class RunningServiceDetails extends Fragment
} }
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(
View view = mRootView = inflater.inflate(R.layout.running_service_details, null); LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.running_service_details, container, false);
Utils.prepareCustomPreferencesList(container, view, view, false);
mRootView = view;
mAllDetails = (ViewGroup)view.findViewById(R.id.all_details); mAllDetails = (ViewGroup)view.findViewById(R.id.all_details);
mSnippet = (ViewGroup)view.findViewById(R.id.snippet); mSnippet = (ViewGroup)view.findViewById(R.id.snippet);
mSnippet.setPadding(0, mSnippet.getPaddingTop(), 0, mSnippet.getPaddingBottom());
mSnippetViewHolder = new RunningProcessesView.ViewHolder(mSnippet); mSnippetViewHolder = new RunningProcessesView.ViewHolder(mSnippet);
// We want to retrieve the data right now, so any active managed // We want to retrieve the data right now, so any active managed

View File

@@ -16,6 +16,8 @@
package com.android.settings.fuelgauge; package com.android.settings.fuelgauge;
import static com.android.settings.Utils.prepareCustomPreferencesList;
import android.app.Activity; import android.app.Activity;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.ApplicationErrorReport; import android.app.ApplicationErrorReport;
@@ -141,8 +143,12 @@ public class PowerUsageDetail extends Fragment implements Button.OnClickListener
} }
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(
View view = mRootView = inflater.inflate(R.layout.power_usage_details, null); LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.power_usage_details, container, false);
prepareCustomPreferencesList(container, view, view, false);
mRootView = view;
createDetails(); createDetails();
return view; return view;
} }