我已經畫廊插件,當你把它的滾動,當前選定的圖像有邊界 - 只是簡單的選擇,這樣畫廊爲setSelection不火圖像選擇
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@drawable/thumbnail_frame" />
<item
android:drawable="@android:color/transparent" />
,並在畫廊適配器的getView及其連接這樣
image.setBackgroundDrawable(getResources().getDrawable(R.drawable.xxx));
的問題是,當我改變爲setSelection(庫選擇),選擇的項目沒有邊框。但是,當我只是用選定的項目上的手指邊框滾動它工作正常。我想,setSelection()不會觸發setSelected()或類似的東西。
我想,解決的辦法是在setSelection()旁邊調用setSelected(),但是如何爲當前選擇的ImageView調用它?或者有沒有其他的方式來做到這一點?
您應該將背景靜態分配給適配器視圖(在佈局中)。它可能是你的代碼,設置背景發生得太遲而「看不到」所選狀態。如果進入畫廊的適配器視圖不適用,我也遇到了問題;你可能想爲你的選擇器添加狀態。你有沒有嘗試你的建議,並做到了這一點?您可以隨時檢查'Gallery.setSelection()'的源代碼以供參考! –
只是對您的代碼的評論,image.setBackgroundResource(R.drawable.xxx)比image.setBackgroundDrawable(getResources()。getDrawable(R.drawable.xxx))簡單 – Marmoy