Bug 1388556 - Use different background drawables for ListView:listSelector and MenuItemActionBar:background. r?nechen,walkingice draft
authorJing-wei Wu <topwu.tw@gmail.com>
Wed, 09 Aug 2017 17:27:17 +0800
changeset 643111 04361867c833bba906bdbe0d3185e4deba98bb7a
parent 643110 3cd5ac1ba106be539abcbc1008d8652c84cc222b
child 725210 0e7638fa7be12cca2c70b4a6487dcb4e318e078f
push id72996
push userbmo:topwu.tw@gmail.com
push dateWed, 09 Aug 2017 09:28:58 +0000
reviewersnechen, walkingice
bugs1388556
milestone57.0a1
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
mobile/android/app/src/photon/res/drawable/action_bar_button.xml
mobile/android/app/src/photon/res/drawable/menu_item_button.xml
mobile/android/app/src/photon/res/values-large/styles.xml
--- 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) -->