tôi đã sao chép một tập tin từ các nguồn Schedule ứng dụng Google IO (https://github.com/google/iosched) cụ thể làselectableItemBackground như mục trong lớp-list
selected_navdrawer_item_background.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/backgroundColor">
<shape>
<solid android:color="#12000000" />
</shape>
</item>
<item android:drawable="?android:selectableItemBackground"/>
</layer-list>
Tôi muốn sử dụng này để nổi bật mục hiện được chọn trong NavigationDrawer. Vấn đề của tôi là, khi tôi khởi chạy ứng dụng của mình, nó ném một ngoại lệ.
Đây là dòng quan trọng tôi nghĩ.
caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #22:
<item> tag requires a 'drawable' attribute or child tag defining a drawable
Line # 22 là này một
<item android:drawable="?android:selectableItemBackground"/>
Tôi không biết vấn đề là gì, tôi sao chép này từ nguồn mà không điều chỉnh nó. Nó hoạt động tốt trong ứng dụng của họ.
Tôi đã cố gắng thay đổi ?android:selectableItemBackground
thành ?attr/selectableItemBackground
, nhưng nó cũng mang lại cho tôi ngoại lệ tương tự. Tôi dường như không tìm thấy bất kỳ giải pháp được đề xuất nào khác.
Nếu có ai biết điều gì gây ra điều này, hãy giúp tôi.
Bạn có sử dụng thư viện Appcompat? –
Tôi chưa thử nghiệm điều này nữa, nhưng tôi cho rằng điều này có thể được sử dụng như một giải pháp thay thế. http://stackoverflow.com/questions/26686250/material-effect-on-button-with-background-color – SnyersK
Tôi đã thử nghiệm nó và nó hoạt động như một sự quyến rũ trong dự án của tôi. –