[英]Android : how to set DropDown View Resource for Spinner?
[英]Android: Set different layouts for Spinner title and dropdown
單擊位於動作欄上的微調器時,應該顯示一個包含一系列項目的下拉列表。 每個項目的觀看者都有一個名字和一張照片。
但是,我希望微調框的標題為另一種布局(純文本)。
簡而言之:如何為標題微調框設置不同於下拉菜單的布局?
Main.java
SpinnerAdapter spinnerAdapter = new SpinnerAdapter(this, dummyLists);
mMyListsSpinner.setAdapter(spinnerAdapter);
SpinnerAdapter.java
private class SpinnerAdapter extends BaseAdapter {
private String[] mListNames;
SpinnerAdapter(Context context, String[] listNames) {
this.mListNames = listNames;
}
@Override
public int getCount() {
if(this.mListNames == null) {
return 0;
}
return this.mListNames.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Context context = parent.getContext();
int spinnerItemViewLayout = R.layout.layout_spinner_dropdown_item;
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(spinnerItemViewLayout, parent, false);
TextView nameTextView = (TextView) view.findViewById(R.id.tv_spinner_list_name);
nameTextView.setText(this.mListNames[position]);
return view;
}
}
layout_spinner_dropdown_item.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearlayout_spinner_dropdown_item"
android:layout_width="222dp"
android:layout_height="@dimen/toolbar_actionbar_height"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_spinner_list_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="LIST"
android:textSize="@dimen/text_size_subheading"
android:textColor="@color/color_green_dark"/>
<ImageView
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:src="@color/color_green_dark"/>
</RelativeLayout>
這可能會有所幫助: Android Spinner具有用於“下拉狀態”和“關閉狀態”的不同布局?
基本要點:
Adapter
類[ SpinnerAdapter
]中重寫getView()
和getDropDownView()
getView()
,您應該為標題欄增加常規布局,在這種情況下,它僅是TextView
。 在getDropDownView()
,應為您的layout_spinner_dropdown_item.xml
充氣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.