您好,登錄后才能下訂單哦!
要實現 Spinner 控件的列表項點擊變色效果,可以通過自定義 Spinner 的適配器來實現。以下是一個示例代碼,演示了如何實現這一效果:
public class CustomSpinnerAdapter extends ArrayAdapter<String> {
private Context mContext;
private int selectedPosition = -1;
public CustomSpinnerAdapter(Context context, int resource, List<String> items) {
super(context, resource, items);
this.mContext = context;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
if (position == selectedPosition) {
view.setBackgroundColor(ContextCompat.getColor(mContext, R.color.selected_item_color));
} else {
view.setBackgroundColor(ContextCompat.getColor(mContext, android.R.color.transparent));
}
return view;
}
public void setSelectedPosition(int position) {
selectedPosition = position;
notifyDataSetChanged();
}
}
在使用 Spinner 控件時,可以設置自定義的適配器并在需要變色的時候調用 setSelectedPosition
方法來改變列表項的顏色:
CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(this, android.R.layout.simple_spinner_item, items);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
adapter.setSelectedPosition(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
在這個示例中,點擊 Spinner 的列表項時,該列表項的背景顏色會變為 selected_item_color
,而其它列表項的背景顏色會變為透明。您可以根據自己的需求修改顏色和樣式。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。