5

đây là cách tôi tạo kiểu cho Overflow Action Bar trên cổ android:Làm cách nào để tạo kiểu cho Thanh tác vụ tràn trên các thiết bị có nút trình đơn phần cứng?

<style name="DropDownNav.MyTheme" parent="@android:style/Widget.Holo.Light.Spinner"> 
    <item name="android:popupBackground">@drawable/menu_dropdown_panel</item> 
    <item name="android:dropDownSelector">@drawable/selectable_background</item> 
</style> 

Nhưng chọn tùy chỉnh chỉ định không áp dụng cho các tùy chọn trình đơn bật lên trên các thiết bị với một nút phần cứng Samsung, thay vào đó là màu xanh mặc định.

Tôi đã nhìn thấy this answer và cố gắng áp dụng

<style name="ListPopupWindow.IvuTheme" parent="android:Widget.ListPopupWindow"> 
    <item name="android:dropDownSelector">@drawable/list_selector_holo_light</item> 
    <item name="android:listSelector">@drawable/list_selector_holo_light</item> 
</style> 

nhưng để có hiệu lực.

Tôi cần kế thừa kiểu nào (và thuộc tính tương ứng trong chủ đề của tôi) để thay đổi bộ chọn trong menu tùy chọn nút phần cứng sau là gì?

Cảm ơn lời khuyên

Trả lời

-1

1) Mở rộng lớp ứng dụng của bạn

public class MyApplication extends Application { 

@Override 
public void onCreate() { 
    super.onCreate(); 

    try { 
     ViewConfiguration config = ViewConfiguration.get(this); 
     Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); 
     if(menuKeyField != null) { 
      menuKeyField.setAccessible(true); 
      menuKeyField.setBoolean(config, false); 
      } 
     } catch (Exception ex) { 
      // Ignore 
     } 
    } 
} 

2) thêm vào Manifest:

<application 
    ... 
    android:name=".MyApplication"> 
+0

Nó đang làm việc. Tôi sử dụng nó trong một ứng dụng thực tế. Và trừ là không phù hợp. – Andrey

Các vấn đề liên quan