国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android UI控件之Spinner下拉列表效果

2019-10-22 18:19:46
字體:
來源:轉載
供稿:網友

下拉列表---Spinner用于顯示列表項,類似于一組單選按鈕RadioButton。Spinner的使用,可以極大的提升用戶的體驗性。當需要用戶選擇的時候,可以提供一個下拉列表項給用戶選擇。

具體來說下拉列表是如何實現的呢?

通過查閱API知道Spinner繼承AdapterView,因此它的數據源需要通過Adapter實現。

一般來說Spinner的數據源可以是數組,也可以是一個XML文件。

一、以數組作為數據源

這種實現方式比較簡單,先上效果圖:

Android,UI,Spinner,下拉列表

Android,UI,Spinner,下拉列表

 xml文件代碼;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:orientation="vertical" >    <TextView     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="Spinner演示"      android:layout_gravity="center_horizontal"/>   <TextView      android:id="@+id/result"     android:text="你的選擇:"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     />   <Spinner      android:id="@+id/spinner"     android:layout_width="fill_parent"     android:layout_height="wrap_content"/>  </LinearLayout> 

MainActivity文件代碼:

package com.kiritor.ui_spinner;  import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView;  public class MainActivity extends Activity {    private TextView result = null;   private Spinner spinner = null;   private ArrayAdapter<String> adapter = null;   private static final String [] langurage ={"機器語言","匯編","c語言","c++語言","java語言"};   @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     result = (TextView)findViewById(R.id.result);     spinner = (Spinner)findViewById(R.id.spinner);     adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,langurage);     //設置下拉列表風格     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     //將適配器添加到spinner中去     spinner.setAdapter(adapter);     spinner.setVisibility(View.VISIBLE);//設置默認顯示     spinner.setOnItemSelectedListener(new OnItemSelectedListener() {     @Override     public void onItemSelected(AdapterView<?> arg0, View arg1,         int arg2, long arg3) {       // TODO Auto-generated method stub       result.setText("你的選擇是:"+((TextView)arg1).getText());                   }     @Override       public void onNothingSelected(AdapterView<?> arg0) {         // TODO Auto-generated method stub                }     });        }    @Override   public boolean onCreateOptionsMenu(Menu menu) {     // Inflate the menu; this adds items to the action bar if it is present.     getMenuInflater().inflate(R.menu.main, menu);     return true;   }  } 

 二、以xml文件作為數據源

先上效果圖吧:

Android,UI,Spinner,下拉列表

數據源xml文件:         

<?xml version="1.0" encoding="utf-8"?> <resources>   <string-array name="langurage">     <item>機器語言</item>     <item>匯編語言</item>     <item>c語言</item>     <item>c++語言</item>     <item>java語言</item>     <item>Android學習</item>   </string-array> </resources> 

xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:orientation="vertical" >    <TextView     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="Spinner演示"      android:layout_gravity="center_horizontal"/>   <TextView      android:id="@+id/result"     android:text="你的選擇:"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     />   <Spinner      android:id="@+id/spinner"     android:layout_width="fill_parent"     android:layout_height="wrap_content"/>  </LinearLayout> 

MainActivity

package com.kiritor.ui_spinner;  import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView;  public class MainActivity extends Activity {    private TextView result = null;   private Spinner spinner = null;   private ArrayAdapter<CharSequence> adapter = null;      @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     result = (TextView)findViewById(R.id.result);     spinner = (Spinner)findViewById(R.id.spinner);     <span style="color:#FF0000;">adapter = ArrayAdapter.createFromResource(this,R.array.langurage,android.R.layout.simple_spinner_item);</span>     //設置下拉列表風格     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     //將適配器添加到spinner中去     spinner.setAdapter(adapter);     spinner.setVisibility(View.VISIBLE);     spinner.setOnItemSelectedListener(new OnItemSelectedListener() {     @Override     public void onItemSelected(AdapterView<?> arg0, View arg1,         int arg2, long arg3) {       // TODO Auto-generated method stub       result.setText("你的選擇是:"+((TextView)arg1).getText());                   }     @Override       public void onNothingSelected(AdapterView<?> arg0) {         // TODO Auto-generated method stub                }     });        }    @Override   public boolean onCreateOptionsMenu(Menu menu) {     // Inflate the menu; this adds items to the action bar if it is present.     getMenuInflater().inflate(R.menu.main, menu);     return true;   }  } 

今天就到這里了,至于spinner的自定義用法和一些Spinner的實際用法舉例,下次再說!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳朔县| 洞头县| 潼南县| 池州市| 郯城县| 文山县| 图片| 五河县| 钟祥市| 公安县| 山丹县| 江安县| 大石桥市| 财经| 陆河县| 常熟市| 邓州市| 五峰| 高淳县| 奉新县| 康乐县| 兴安盟| 伊川县| 盐山县| 阿尔山市| 海门市| 额济纳旗| 遂溪县| 阜新市| 垦利县| 克拉玛依市| 克什克腾旗| 武冈市| 福清市| 阿坝县| 抚顺市| 抚顺市| 巴青县| 开江县| 嵩明县| 托里县|