6

Tôi đang sử dụng ActionBarSherlock để làm cho ứng dụng của tôi tương thích với các thiết bị cũ hơn. Việc thực hiện rất dễ dàng, nhưng bây giờ tôi cần phải tạo kiểu cho đường màu xanh mặc định của Holo mà bạn nhìn thấy dưới các tab đến một đường màu đỏ.Thay đổi màu đường kẻ trong các tab - ActionBarSherlock

Tôi đã đọc một vài chủ đề (topic 1, topic 2) ở đây trên SO và cũng là tài liệu ABS (link), nhưng tôi không thể làm cho nó hoạt động.

Đây là những gì tôi có cho đến nay.

Trong tệp AndroidManifest.xml tôi đã thêm dòng này vào thẻ application.

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.Sherlock" > <!-- SET THE DEFAULT THEME --> 

Sau đó, trong res/values/styles.xml tôi có:

<resources> 
    <style name="AppTheme" parent="android:Theme.Light" /> 

    <style name="Theme.MyTheme" parent="Theme.Sherlock"> 
     <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item> 
     <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item> 
    </style> 

    <style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar"> 
     <item name="android:background">#ff000000</item> 
     <item name="background">#ff000000</item> 
    </style> 
</resources> 

Nhưng khi tôi chạy ứng dụng của tôi, sau đó tôi vẫn thấy màu đường màu xanh mặc định.

Tôi đang làm gì sai?


EDIT

đọc này nếu bạn muốn phong cách hoàn toàn ActionBarSherlock của bạn!

Tôi tìm thấy một câu trả lời ở đây trên SO đó đã liên kết sau: http://jgilfelt.github.com/android-actionbarstylegenerator

Đây là một máy phát điện đơn giản mà tạo ra tất cả các file cần thiết cho một ABS hoàn toàn tùy chỉnh! Tất cả bạn phải làm là sao chép các tập tin được tạo ra vào các thư mục appropiate và bạn đã thiết lập!

Đừng quên bật kiểu (bạn sẽ phải nhập tên kiểu trong trình tạo) trong AndroidManifest của mình. Đối với điều đó, xem câu trả lời dưới đây.

Trả lời

8

Một vài điều:

Bạn không thực sự cần <style name="AppTheme" parent="android:Theme.Light" /> nữa trừ khi bạn muốn thay đổi nó để kế thừa Theme.Sherlock và sử dụng nó cho chủ đề ứng dụng của bạn. Nếu bạn quyết định làm điều này, bạn sẽ phải sử dụng Theme.MyTheme cho các hoạt động.

Dù bằng cách nào, để khắc phục vấn đề bạn muốn thay đổi

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.Sherlock" > 

để

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.MyTheme" > 

HOẶC bạn có thể áp dụng các chủ đề trực tiếp đến hoạt động của bạn:

<activity 
    android:name="com.awesome.package.activity.SomeActivity" 
    android:theme="@style/Theme.MyTheme"/> 

Side lưu ý , Tôi khuyên bạn nên excellent actionbar theme generator

này 210
+0

làm thế nào để sử dụng nó nó không phải là dowloding? – PankajAndroid

1

Set trong chủ đề file manifest của bạn như sau:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.MyTheme" > 

này sẽ giữ lại tất cả các chủ đề Sherlock và sẽ thêm phong cách tùy chỉnh của bạn.

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