Tôi đang cố gắng để ứng dụng Android của mình phong cách hơn một chút và đã thực hiện một số tiến bộ nhưng trình đơn thả xuống sẽ khiến tôi gặp rắc rối. Tôi đã có một ảnh chụp màn hình để hiển thị cho bạn những vấn đề:Phong cách android spinner
Những gì tôi muốn hộp trắng phía sau để được minh bạch, như trong lớp phủ màu xám cùng trên màn hình trở lại như phần còn lại của là màn hình bên ngoài menu thả xuống.
Android 4.0, API 15 nếu tôi nhớ chính xác.
Theo yêu cầu, đây là cách tôi thực hiện cho đến thời điểm này. Đây là những đoạn tôi nghĩ là có liên quan nhưng tôi có thể đã bỏ lỡ một cái gì đó.
Đây là xml cho spinner:
<Spinner
android:id="@+id/edit_countrySpinner"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/edit_countryArray"
android:gravity="center"
android:prompt="@string/country_prompt" />
Trong các giá trị của tôi/style.xml. Nếu tôi thay đổi màu nền ở đây, nền trong hộp thoại sẽ thay đổi, nhưng tất cả phần còn lại của hình nền là tốt. Tôi đã không tìm ra cách để jus thay đổi nền trong hộp thoại thả xuống.
<style name="appcin" parent="@android:style/Theme.NoTitleBar.Fullscreen">
<item name="android:spinnerStyle">@style/spinnerStyle</item>
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item> -->
<item name="android:background">#FFFFFF</item>
</style>
<style name="spinnerStyle">
<item name="android:background">@drawable/pink_white_dropdown</item>
<item name="android:clickable">true</item>
</style>
<style name="SpinnerItem">
<item name="android:textColor">#993399</item>
<item name="android:background">@drawable/pink_white_dropdown</item>
<item name="android:maxHeight">10dip</item>
</style>
<style name="SpinnerDropDownItem">
<item name="android:textColor">#993399</item>
<item name="android:background">#FFFFFF</item>
</style>
Tôi đã thử thêm chủ đề này vào chủ đề ứng dụng nhưng không ai trong số chúng tạo ra bất kỳ sự khác biệt nào, nền vẫn màu trắng.
<...theme....>
<item name="android:dropDownListViewStyle">@style/DropDownStyle</item>
<item name="android:dropDownSpinnerStyle">@style/DropDownStyle</item>
<item name="android:dropDownSelector">@style/DropDownStyle</item>
</... theme ...>
<style name="DropDownStyle">
<item name="android:background">#FFF000</item>
<item name="android:popupBackground">#FFF000</item>
<item name="android:cacheColorHint">#FFF000</item>
</style>
Trong drawable/pink_white_dropdown, chỉ hiển thị cùng một hình ảnh cho tất cả các trường hợp. pink_white_arrow là hình ảnh 9patch tôi đã tạo. Có rất nhiều hướng dẫn, here's one I found by 30sec on google.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_pressed="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_pressed="false"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_enabled="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_focused="true"
android:drawable="@drawable/pink_white_arrow"/>
<item
android:drawable="@drawable/pink_white_arrow"/>
</selector>
Một nơi nào đó trong những tệp này, tôi cần phải minh bạch một số thứ, nhưng tôi không biết ở đâu.
Bạn có thể chia sẻ cách bạn làm điều đó cho đến nay? – fiddler
Thêm giải pháp hiện tại, tôi nghĩ rằng _should_ là tất cả những thứ liên quan nhưng tôi không chắc chắn. – dutt