2012-02-08 30 views
6

Tôi cần thay đổi kiểu SearchView trong số ActionBar của mình. Đặc biệt, tôi cần thay đổi màu gợi ý văn bản và các biểu tượng SearchView nếu có thể. Làm thế nào tôi có thể thực hiện điều này trong XML (thậm chí nó có thể trong XML) không?Android làm thế nào để tạo kiểu cho một SearchView trong Actionbar?

Nếu điều này là không thể, làm cách nào tôi có thể dễ dàng tạo lại hành vi tương tự với chế độ xem tùy chỉnh? Hành vi đóng/mở rộng của SearchView đặc biệt hữu ích đối với tôi.

+0

Các bạn đã tìm thấy một giải pháp cho câu hỏi này ? Plase đừng quên thông báo cho chúng tôi ở đây - hoặc nếu không nêu rõ câu hỏi của bạn. :-) –

+0

Tôi đã quản lý để sửa đổi màu gợi ý như sau: http://stackoverflow.com/questions/17791388/changing-action-bar-searchview-hint-text-color – Soflete

Trả lời

1

Dường như bạn có thể cần phải cung cấp bố cục tùy chỉnh cho hành động tìm kiếm của mình. Tôi đã không thể tìm thấy bất kỳ tài liệu nào nói về việc sửa đổi SearchView mặc định. Nhưng điều này cho phép hành vi đóng/mở rộng.

http://developer.android.com/guide/topics/ui/actionbar.html#ActionView

câu hỏi liên quan:

7

Các bạn đã thử một cái gì đó như thế này (Với ActionBarSherlock):

AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); 
searchText.setHintTextColor(getResources().getColor(R.color.white)); 
searchText.setTextColor(getResources().getColor(R.color.white)); 

Nó hoạt động tốt cho tôi.

+0

Bạn đang sử dụng ActionbarSherlock. – wangqi060934

+1

Điều này làm việc cho tôi với ActionBarSherlock và android: minSdkVersion = "8". Cảm ơn! – Munchies

+0

Phải là câu trả lời được chấp nhận. Cảm ơn! –

0

Bạn cần tạo chủ đề mới và sử dụng nó trong tệp kê khai.

<style name="Theme.Test" parent="@style/Theme.AppCompat.Light"> 
    <item name="searchViewAutoCompleteTextView">@style/Theme.Test.SearchField</item> 
</style> 

<!-- Search edit text --> 
<style name="Theme.Test.SearchField" parent="@style/Widget.AppCompat.Light.AutoCompleteTextView"> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textColorHint">@color/white</item> 
</style> 

Nó làm việc tốt cho tôi.

0

Câu trả lời đúng là quá tải kiểu thanh tác vụ của thanh tác vụ với kiểu tùy chỉnh của riêng bạn. Đối với ánh sáng holo với thanh hành động đen tối, đặt điều này trong phong cách của riêng bạn nộp như res/values/styles_mytheme.xml:

<style name="Theme.MyTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"> 
    <item name="android:actionBarWidgetTheme">@style/Theme.MyTheme.Widget</item> 
    <!-- your other custom styles --> 
</style> 

<style name="Theme.MyTheme.Widget" parent="@android:style/Theme.Holo"> 
    <item name="android:textColorHint">@android:color/white</item> 
    <!-- your other custom widget styles --> 
</style> 

Hãy chắc chắn rằng ứng dụng của bạn đang sử dụng theme chủ đề tùy chỉnh như mô tả trong enter link description here

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