diff --git a/res/layout-h720dp/tab_widget.xml b/res/layout-h720dp/tab_widget.xml
new file mode 100644
index 00000000000..5a4e5802038
--- /dev/null
+++ b/res/layout-h720dp/tab_widget.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
diff --git a/res/layout-w720dp/tab_widget.xml b/res/layout-w720dp/tab_widget.xml
new file mode 100644
index 00000000000..5a4e5802038
--- /dev/null
+++ b/res/layout-w720dp/tab_widget.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
diff --git a/res/layout/data_usage_chart.xml b/res/layout/data_usage_chart.xml
index 4dae2482f6d..7f63f3f3752 100644
--- a/res/layout/data_usage_chart.xml
+++ b/res/layout/data_usage_chart.xml
@@ -20,8 +20,8 @@
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="@dimen/data_usage_chart_height"
- android:paddingLeft="@*android:dimen/preference_item_padding_side"
- android:paddingRight="@*android:dimen/preference_item_padding_side"
+ android:paddingLeft="16dip"
+ android:paddingRight="16dip"
android:paddingTop="16dip"
android:paddingBottom="16dip"
settings:optimalWidth="@dimen/data_usage_chart_optimalWidth"
diff --git a/res/layout/data_usage_header.xml b/res/layout/data_usage_header.xml
index ba41c8880c1..b27d88ffae1 100644
--- a/res/layout/data_usage_header.xml
+++ b/res/layout/data_usage_header.xml
@@ -17,7 +17,9 @@
+ android:orientation="vertical"
+ android:clipChildren="false"
+ android:clipToPadding="false">
-
-
-
-
-
+
diff --git a/res/layout/manage_applications.xml b/res/layout/manage_applications.xml
index 95d48479ec5..7df2f549ce6 100755
--- a/res/layout/manage_applications.xml
+++ b/res/layout/manage_applications.xml
@@ -29,7 +29,8 @@
+ android:layout_height="match_parent"
+ android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle" />
-
-
-
-
-
-
+
+
-
diff --git a/res/layout/tab_widget.xml b/res/layout/tab_widget.xml
new file mode 100644
index 00000000000..a6adc5d72a0
--- /dev/null
+++ b/res/layout/tab_widget.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index b99264feaac..a6170c744ea 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -43,6 +43,7 @@ import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
import static android.text.format.Time.TIMEZONE_UTC;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
+import static com.android.settings.Utils.prepareCustomPreferencesList;
import android.animation.LayoutTransition;
import android.app.AlertDialog;
@@ -272,6 +273,9 @@ public class DataUsageSummary extends Fragment {
mTabWidget = (TabWidget) view.findViewById(android.R.id.tabs);
mListView = (ListView) view.findViewById(android.R.id.list);
+ // adjust padding around tabwidget as needed
+ prepareCustomPreferencesList(container, view, mListView);
+
mTabHost.setup();
mTabHost.setOnTabChangedListener(mTabListener);
diff --git a/src/com/android/settings/UserDictionarySettings.java b/src/com/android/settings/UserDictionarySettings.java
index be8f453e513..496947ba880 100644
--- a/src/com/android/settings/UserDictionarySettings.java
+++ b/src/com/android/settings/UserDictionarySettings.java
@@ -95,6 +95,13 @@ public class UserDictionarySettings extends ListFragment implements DialogCreata
super.onCreate(savedInstanceState);
}
+ @Override
+ public View onCreateView(
+ LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ return inflater.inflate(
+ com.android.internal.R.layout.preference_list_fragment, container, false);
+ }
+
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index b725d56d127..73a9a30b0ce 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -20,8 +20,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.content.res.Resources.NotFoundException;
import android.graphics.drawable.Drawable;
@@ -31,13 +31,17 @@ import android.os.BatteryManager;
import android.os.Bundle;
import android.os.SystemProperties;
import android.preference.Preference;
-import android.preference.PreferenceGroup;
import android.preference.PreferenceActivity.Header;
+import android.preference.PreferenceFrameLayout;
+import android.preference.PreferenceGroup;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ListView;
+import android.widget.TabWidget;
import java.net.InetAddress;
-import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
@@ -365,4 +369,23 @@ public class Utils {
return statusString;
}
+
+ /**
+ * Prepare a custom preferences layout, moving padding to {@link ListView}
+ * when outside scrollbars are requested. Usually used to display
+ * {@link ListView} and {@link TabWidget} with correct padding.
+ */
+ public static void prepareCustomPreferencesList(ViewGroup parent, View child, ListView list) {
+ final boolean movePadding = list.getScrollBarStyle() == View.SCROLLBARS_OUTSIDE_OVERLAY;
+ if (movePadding && parent instanceof PreferenceFrameLayout) {
+ ((PreferenceFrameLayout.LayoutParams) child.getLayoutParams()).removeBorders = true;
+
+ final Resources res = list.getResources();
+ final int paddingSide = res.getDimensionPixelSize(
+ com.android.internal.R.dimen.preference_fragment_padding_side);
+ final int paddingBottom = res.getDimensionPixelSize(
+ com.android.internal.R.dimen.preference_fragment_padding_bottom);
+ list.setPadding(paddingSide, 0, paddingSide, paddingBottom);
+ }
+ }
}
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index 68c942db6ea..4f17d818f94 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -16,11 +16,7 @@
package com.android.settings.applications;
-import com.android.internal.content.PackageHelper;
-import com.android.settings.R;
-import com.android.settings.Settings.RunningServicesActivity;
-import com.android.settings.Settings.StorageUseActivity;
-import com.android.settings.applications.ApplicationsState.AppEntry;
+import static com.android.settings.Utils.prepareCustomPreferencesList;
import android.app.Activity;
import android.app.Fragment;
@@ -58,6 +54,12 @@ import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TextView;
+import com.android.internal.content.PackageHelper;
+import com.android.settings.R;
+import com.android.settings.Settings.RunningServicesActivity;
+import com.android.settings.Settings.StorageUseActivity;
+import com.android.settings.applications.ApplicationsState.AppEntry;
+
import java.util.ArrayList;
import java.util.Comparator;
@@ -618,9 +620,8 @@ public class ManageApplications extends Fragment implements
mCreatedRunning = mResumedRunning = false;
mCurView = VIEW_NOTHING;
-
- View tabRoot = mInflater.inflate(R.layout.manage_apps_tab_content, null);
- mTabHost = (TabHost)tabRoot.findViewById(com.android.internal.R.id.tabhost);
+
+ mTabHost = (TabHost) mInflater.inflate(R.layout.manage_apps_tab_content, container, false);
mTabHost.setup();
final TabHost tabHost = mTabHost;
tabHost.addTab(tabHost.newTabSpec(TAB_DOWNLOADED)
@@ -644,7 +645,10 @@ public class ManageApplications extends Fragment implements
tabHost.setCurrentTabByTag(mDefaultTab);
tabHost.setOnTabChangedListener(this);
- return tabRoot;
+ // adjust padding around tabwidget as needed
+ prepareCustomPreferencesList(container, mTabHost, mListView);
+
+ return mTabHost;
}
@Override