当前位置: 首页 > 编程笔记 >

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

谢墨竹
2023-03-14
本文向大家介绍Android UI控件之Spinner下拉列表效果,包括了Android UI控件之Spinner下拉列表效果的使用技巧和注意事项,需要的朋友参考一下

下拉列表---Spinner用于显示列表项,类似于一组单选按钮RadioButton。Spinner的使用,可以极大的提升用户的体验性。当需要用户选择的时候,可以提供一个下拉列表项给用户选择。

具体来说下拉列表是如何实现的呢?

通过查阅API知道Spinner继承AdapterView,因此它的数据源需要通过Adapter实现。

一般来说Spinner的数据源可以是数组,也可以是一个XML文件。

一、以数组作为数据源

这种实现方式比较简单,先上效果图:

 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文件作为数据源

先上效果图吧:

数据源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的实际用法举例,下次再说!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Android编程之下拉菜单Spinner控件用法示例,包括了Android编程之下拉菜单Spinner控件用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android下拉菜单Spinner控件用法。分享给大家供大家参考,具体如下: activity_main.xml MainActivity.java 更多关于Android相关内容感兴趣的读者可查看本站专题:《A

  • 本文向大家介绍Android下拉列表spinner的实例代码,包括了Android下拉列表spinner的实例代码的使用技巧和注意事项,需要的朋友参考一下 spinner组件有点类型于HTML中的下拉框<Select></select>的样子,让用户每次从下拉框中选取一个,本文为大家分享了Android下拉列表spinner的具体实现代码,供大家参考,具体内容如下 mian.xml Main.ja

  • 本文向大家介绍Android中Spinner(下拉框)控件的使用详解,包括了Android中Spinner(下拉框)控件的使用详解的使用技巧和注意事项,需要的朋友参考一下 android给我们提供了一个spinner控件,这个控件主要就是一个列表,那么我们就来说说这个控件吧,这个控件在以前的也看见过,但今天还是从新介绍一遍吧。 Spinner位于 android.widget包下,每次只显示用户选

  • 增加下拉列表在到按钮上,确保 data-activates 属性匹配 <ul> 标签的 id,你可以增加分隔线通过 <li class="divider"></li> 标签。 <!-- Dropdown Trigger --> <a class='dropdown-button btn' href='#' data-activates='dropdown1'>单击我</a> <!-- D

  • 实现下拉列表(Combo Box)功能,可以用作下拉单选框。 [Code4App.com]

  • 本文向大家介绍EasyUI学习之Combobox下拉列表(1),包括了EasyUI学习之Combobox下拉列表(1)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了EasyUI Combobox下拉列表的具体代码,供大家参考,具体内容如下 1. html代码 2.显示 3.js代码 4.Json数据 5.设置默认选项和取值 6.年份小例子 以上就是本文的全部内容,希望对大家的学习有