我有RecyclerView
它擁有一些TextView
s。我已將RecyclerView
的背景設置爲以下recycler_view_background.xml
。將圓角添加到狀態使用XML的TextView的選定背景
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#000000" />
<corners android:topLeftRadius="@dimen/player_category_radius" android:topRightRadius="@dimen/player_category_radius"
android:bottomLeftRadius="@dimen/player_category_radius" android:bottomRightRadius="@dimen/player_category_radius"/>
<stroke android:color="#D3D3D3" android:width="1dp" />
</shape>
它工作正常,我在我的RecyclerView
圓角。
這裏有一個問題,當我嘗試向TextViews
中的任何一個添加背景選擇器時,它們不顯示圓角。這裏的背景xml
爲每個項目category_item_selector.xml
。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/controlbar_gradient">
<shape>
<corners android:topLeftRadius="@dimen/player_category_radius" android:topRightRadius="@dimen/player_category_radius"
android:bottomLeftRadius="@dimen/player_category_radius" android:bottomRightRadius="@dimen/player_category_radius"/>
<stroke android:color="#D3D3D3" android:width="1dp" />
</shape>
</item>
</selector>
我編程設定S1 OnClickListener
TextView
「在我RecyclerView.Adapter.ViewHolder
選擇到真正的S」(選擇工作正常,否則我不會有淡紅色的背景所選擇的項目)。
下面是應用程序的片段。
RecyclerView
有圓角,但TextView
的背景是借鑑了它。所以當選擇的View
在頂部或底部。
即使不應該在所選視圖上添加圓角時,圓角不再可見。
我一直在搜索這個類似的解決方案。根據this,我的正確性。
這個選擇是行不通的,因爲它只有一個狀態(你需要一個默認的也行),你剛纔定義的繪製此。內部形狀將被忽略..... – Opiatefuchs
@Opiatefuchs我不需要圓角state_selected =「false」。所以它在這個級別上工作得很好。至於已經定義的drawable,請檢查我的答案,我指出了我自己的錯誤。 – Abbas