2012-01-02 28 views
31

Tôi đang làm việc trên một ứng dụng sẽ có chế độ toàn màn hình, nhưng sẽ sử dụng một số chức năng của ActionBar. Với bản phát hành Ice Cream Sandwhich, tôi thấy rằng tôi có một dải phân cách/dải màu xanh dương như một phần của ActionBar. Thông thường, nó sẽ là tốt cho sự nhất quán, nhưng trong trường hợp của tôi, tôi cần phải loại bỏ các chia.Android ICS: Xóa bộ chia màu xanh trong ActionBar?

Làm cách nào để xóa hoặc tạo kiểu cho dải phân cách của ActionBar trong ICS?

Đã cố gắng thiết lập chủ đề tùy chỉnh với "android: style/Widget.Holo.ActionBar" làm cha mẹ. Tuy nhiên, các thiết lập như một trong những dưới đây không có tác dụng

<item name="android:divider">#FFFFFF</item> 
+0

Điều này có thể hữu ích: http://stackoverflow.com/questions/6072226/how-to-style-the-menu-items-on-an-android-action-bar Ngoài ra, bạn có nhớ chọn tùy chỉnh của mình không chủ đề trong Tệp kê khai hoặc mã của bạn? –

Trả lời

65

Tài sản đồ họa có chứa các mấu chốt màu xanh là nền tảng của quan điểm chứa thanh hành động và được thiết lập để @android:drawable/ab_transparent_dark_holo khi sử dụng theme mặc định Holo tối.

Để loại bỏ dòng này, bạn sẽ cần phải tạo ra một phong cách tùy chỉnh cho thanh hành động của bạn (dựa trên Widget.Holo.ActionBar hoặc Widget.Holo.Light.ActionBar (hoặc .Solid biến thể) và thiết lập android:background một cái gì đó mà không bao gồm biên giới phía dưới:

<style name="MyTheme" parent="android:Theme.Holo"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="android:Widget.Holo.ActionBar"> 
    <item name="android:background">@drawable/your_background_here</item> 
</style> 

Note: Holo tối/Ánh sáng thanh hành động có phong cách rắn và minh bạch; đường màu xanh này xuất hiện theo mặc định cho phong cách minh bạch Holo tối thanh hành động là minh bạch theo mặc định và thanh hành động Holo Ánh sáng là rắn theo mặc định. .

+0

tuyệt vời, giải quyết được vấn đề – dparnas

+0

android: Theme.Holo chỉ dành cho API 11. Làm cách nào tôi có thể thực hiện việc này đối với các API cũ hơn. – androidevil

+9

Lưu ý: thiết lập ' @ android: color/transparent' sẽ xóa dải phân cách. –

2

Đây là một cách đơn giản để loại bỏ các gốc cây, làm việc từ API 07 sử dụng ActionBarCompat từ thư viện hỗ trợ:

@Override 
public void onCreate(Bundle savedInstanceState) { 
     //... 
     getSupportActionBar().setBackgroundDrawable(
      getResources().getDrawable(R.drawable.whatever_you_want)); 
     //... 
} 
1

Thay đổi chủ đề hoạt động để Theme.Holo.Light.DarkActionBar loại bỏ các đường màu xanh.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> 
    <item name="android:windowBackground">@android:color/black</item> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

Nếu bạn vẫn muốn có một nền đen bạn có thể muốn thay đổi android: windowBackground và/hoặc android: Format

-2

thêm <item name="android:windowContentOverlay">@null</item> này đến chủ đề ứng dụng của bạn.

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