diff options
-rw-r--r-- | core/java/com/android/internal/widget/ActionBarView.java | 17 | ||||
-rw-r--r-- | core/res/res/layout-w720dp/action_bar_home.xml | 36 | ||||
-rw-r--r-- | core/res/res/layout/action_bar_home.xml | 6 | ||||
-rw-r--r-- | core/res/res/values-w720dp/dimens.xml | 24 | ||||
-rw-r--r-- | core/res/res/values/dimens.xml | 8 |
5 files changed, 52 insertions, 39 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index cc51911..891557d 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -28,6 +28,8 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Configuration; +import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.text.TextUtils; @@ -980,6 +982,21 @@ public class ActionBarView extends ViewGroup { } @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + + // Make sure we reload positioning elements that may change with configuration. + Resources res = getContext().getResources(); + final int imagePadding = res.getDimensionPixelSize( + com.android.internal.R.dimen.action_bar_home_image_padding); + final int upMargin = res.getDimensionPixelSize( + com.android.internal.R.dimen.action_bar_home_up_margin); + mIconView.setPadding(imagePadding, getPaddingTop(), imagePadding, getPaddingBottom()); + ((LayoutParams) mUpView.getLayoutParams()).rightMargin = upMargin; + mUpView.requestLayout(); + } + + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { measureChildWithMargins(mUpView, widthMeasureSpec, 0, heightMeasureSpec, 0); final LayoutParams upLp = (LayoutParams) mUpView.getLayoutParams(); diff --git a/core/res/res/layout-w720dp/action_bar_home.xml b/core/res/res/layout-w720dp/action_bar_home.xml deleted file mode 100644 index ece1a34..0000000 --- a/core/res/res/layout-w720dp/action_bar_home.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?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. ---> - -<view xmlns:android="http://schemas.android.com/apk/res/android" - class="com.android.internal.widget.ActionBarView$HomeView" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="?android:attr/selectableItemBackground" > - <ImageView android:id="@android:id/up" - android:src="?android:attr/homeAsUpIndicator" - android:layout_gravity="center_vertical|left" - android:visibility="gone" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginRight="-12dip" /> - <ImageView android:id="@android:id/home" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingLeft="16dip" - android:paddingRight="16dip" - android:layout_gravity="center" - android:scaleType="center" /> -</view> diff --git a/core/res/res/layout/action_bar_home.xml b/core/res/res/layout/action_bar_home.xml index a45432a..a4c0962 100644 --- a/core/res/res/layout/action_bar_home.xml +++ b/core/res/res/layout/action_bar_home.xml @@ -25,12 +25,12 @@ android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginRight="-4dip" /> + android:layout_marginRight="@dimen/action_bar_home_up_margin" /> <ImageView android:id="@android:id/home" android:layout_width="wrap_content" android:layout_height="match_parent" - android:paddingLeft="8dip" - android:paddingRight="8dip" + android:paddingLeft="@dimen/action_bar_home_image_padding" + android:paddingRight="@dimen/action_bar_home_image_padding" android:layout_gravity="center" android:scaleType="center" /> </view> diff --git a/core/res/res/values-w720dp/dimens.xml b/core/res/res/values-w720dp/dimens.xml new file mode 100644 index 0000000..a74c41c --- /dev/null +++ b/core/res/res/values-w720dp/dimens.xml @@ -0,0 +1,24 @@ +<?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. +--> + +<resources> + <!-- Size of the margin between the 'up' visual and the image in + the action bar home section. --> + <dimen name="action_bar_home_up_margin">-12dip</dimen> + <!-- Size of the padding on either side of the app-supplied image + in the action bar home section. --> + <dimen name="action_bar_home_image_padding">16dip</dimen> +</resources> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 05840a4..02193c3 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -81,4 +81,12 @@ <dimen name="alert_dialog_title_height">48dip</dimen> <!-- Dialog button bar height --> <dimen name="alert_dialog_button_bar_height">48dip</dimen> + + <!-- Size of the margin between the 'up' visual and the image in + the action bar home section. --> + <dimen name="action_bar_home_up_margin">-4dip</dimen> + <!-- Size of the padding on either side of the app-supplied image + in the action bar home section. --> + <dimen name="action_bar_home_image_padding">8dip</dimen> + </resources> |