編輯:關於Android編程
android給我們提供了一個spinner控件,這個控件主要就是一個列表,那麼我們就來說說這個控件吧,這個控件在以前的也看見過,但今天還是從新介紹一遍吧。
Spinner位於 android.widget包下,每次只顯示用戶選中的元素,當用戶再次點擊時,會彈出選擇列表供用戶選擇,而選擇列表中的元素同樣來自適配器。Spinner是View類得一個子類。
1.效果圖
2.創建頁面文件(main.xml)
<Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/tvResult" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="選擇的水果" />
3.創建下拉框的數據源
List<String> list = new ArrayList<String>(); list.add("蘋果"); list.add("香蕉"); list.add("橘子"); list.add("香蕉");
4.創建適配器(下拉框的數據源是來自適配器)
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);
5.為適配器添加樣式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
系統提供的樣式如下
simple_spinner_dropdown_item(列表-間距較高比較好看)
simple_spinner_item(列表-間距緊湊不好看)
simple_list_item_checked(復選框-選中的有綠溝)
simple_list_item_single_choice (單選按鈕)
6.向控件Spinner添加適配器
Spinner sp=(Spinner) findViewById(R.id.spinner1); sp.setAdapter(adapter);
釋義
1. setAdapter(SpinnerAdapter adapter) ,從類的繼承關系上看,ArrayAdapter是SpinnerAdapter接口的間接實現類
7.實現選擇項事件(使用匿名類實現接口)
sp.setOnItemSelectedListener(new OnItemSelectedListener() { // parent: 為控件Spinner view:顯示文字的TextView position:下拉選項的位置從0開始 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { TextView tvResult = (TextView) findViewById(R.id.tvResult); //獲取Spinner控件的適配器 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter(); tvResult.setText(adapter.getItem(position)); } //沒有選中時的處理 public void onNothingSelected(AdapterView<?> parent) { } });
8.後台整體代碼如下
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); List<String> list = new ArrayList<String>(); list.add("蘋果"); list.add("香蕉"); list.add("橘子"); list.add("香蕉"); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice); Spinner sp = (Spinner) findViewById(R.id.spinner1); sp.setAdapter(adapter); sp.setOnItemSelectedListener(new OnItemSelectedListener() { // parent: 為控件Spinner view:顯示文字的TextView position:下拉選項的位置從0開始 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { TextView tvResult = (TextView) findViewById(R.id.tvResult); //獲取Spinner控件的適配器 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter(); tvResult.setText(adapter.getItem(position)); } //沒有選中時的處理 public void onNothingSelected(AdapterView<?> parent) { } }); }
以上所述是小編給大家介紹的Android中Spinner(下拉框)控件的使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!
方案一:PreLollipopTransition首先在 build.gradle 配置文件添加這個庫依賴dependencies { compile
先看看效果圖:停在中間自動翻頁序言:最近接到一個任務,做一個類似上面自動翻頁的功能。可以看到,這一屏中有三張圖片顯示出來了,有兩張沒有顯示完全,看到設計圖的時候第一反應是
在android中一共有 多種事件,每種事件都有自己相對應的處理機制 如以下幾種 1 單擊事件 View.OnClickListener pub
開源項目:Android-ObservableScrollView**項目依賴添加:compile ‘com.github.ksoichiro:android