Bug 1388556 - Use different background drawables for ListView:listSelector and MenuItemActionBar:background. r?nechen,walkingice
action_bar_button.xml is both used in ListView:listSelector and MenuItemActionBar:background.
Because in Photon the background of menu item is changed to round rectangle with insecTop/insecBottom,
the change in action_bar_button causes ListView:listSelector has extra space.
The solution is using 2 different drwables for ListView:listSelector and MenuItemActionBar:background separately.
MozReview-Commit-ID: 9e7hZ8kUswY
--- a/mobile/android/app/src/photon/res/drawable/action_bar_button.xml
+++ b/mobile/android/app/src/photon/res/drawable/action_bar_button.xml
@@ -1,65 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:gecko="http://schemas.android.com/apk/res-auto">
-
- <item android:state_enabled="true"
- android:state_pressed="true"
- gecko:state_private="true">
- <inset android:insetBottom="@dimen/browser_toolbar_image_button_v_spacing"
- android:insetLeft="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetRight="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetTop="@dimen/browser_toolbar_image_button_v_spacing">
- <shape>
- <solid android:color="@color/action_bar_item_bg_color_private_pressed"/>
- <corners android:radius="@dimen/browser_toolbar_menu_radius"/>
- </shape>
- </inset>
- </item>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_focused="true"
- android:state_pressed="false"
- gecko:state_private="true">
- <inset android:insetBottom="@dimen/browser_toolbar_image_button_v_spacing"
- android:insetLeft="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetRight="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetTop="@dimen/browser_toolbar_image_button_v_spacing">
- <shape>
- <solid android:color="@color/action_bar_item_bg_color_private_pressed"/>
- <corners android:radius="@dimen/browser_toolbar_menu_radius"/>
- </shape>
- </inset>
- </item>
+ <item android:drawable="@color/highlight"
+ android:state_enabled="true"
+ android:state_pressed="true"/>
- <item android:state_enabled="true"
- android:state_pressed="true">
- <inset android:insetBottom="@dimen/browser_toolbar_image_button_v_spacing"
- android:insetLeft="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetRight="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetTop="@dimen/browser_toolbar_image_button_v_spacing">
- <shape>
- <solid android:color="@color/action_bar_item_bg_color_pressed"/>
- <corners android:radius="@dimen/browser_toolbar_menu_radius"/>
- </shape>
- </inset>
- </item>
-
- <item android:state_focused="true"
- android:state_pressed="false">
- <inset android:insetBottom="@dimen/browser_toolbar_image_button_v_spacing"
- android:insetLeft="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetRight="@dimen/browser_toolbar_image_button_h_spacing"
- android:insetTop="@dimen/browser_toolbar_image_button_v_spacing">
- <shape>
- <solid android:color="@color/action_bar_item_bg_color_pressed"/>
- <corners android:radius="@dimen/browser_toolbar_menu_radius"/>
- </shape>
- </inset>
- </item>
+ <item android:drawable="@color/highlight_focused"
+ android:state_focused="true"
+ android:state_pressed="false"/>
<item android:drawable="@android:color/transparent"/>
+
</selector>
copy from mobile/android/app/src/photon/res/drawable/action_bar_button.xml
copy to mobile/android/app/src/photon/res/drawable/menu_item_button.xml
--- a/mobile/android/app/src/photon/res/values-large/styles.xml
+++ b/mobile/android/app/src/photon/res/values-large/styles.xml
@@ -35,17 +35,17 @@
<!-- Same as pre-19 Toast style, but with no left and right margins.
They're removed since large tablets are never going to be only 400dp wide. -->
</style>
<style name="Widget.MenuItemActionBar">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
- <item name="android:background">@drawable/action_bar_button</item>
+ <item name="android:background">@drawable/menu_item_button</item>
<item name="drawableTintList">@color/action_bar_menu_item_colors</item>
<item name="android:scaleType">center</item>
<!-- layout_width/height doesn't work here, likely because it's only
added programmatically, so we use padding for the width instead.
layout_height is set to MATCH_PARENT programmatically in
org.mozilla.gecko.toolbar.BrowserToolbarTabletBase.addActionItem(View) -->