Android进阶之Spinner下拉框的使用方法
时间:2019-04-11
本文章向大家介绍Android进阶之Spinner下拉框的使用方法,主要包括Android进阶之Spinner下拉框的使用方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Spinner有俩种实现方式,除去存储数据与读取数据不同的话,其他并没有什么区别
Effect :
第一种:
在Res目录下,找到values文件夹下arrays.xml进行资源存储
<string-array name="state"> <item >今日</item> <item >昨日</item> <item >本周</item> <item >上周</item> <item >本月</item> <item >上月</item> </string-array>
在代码中读取资源:
String[] mItems = getResources().getStringArray(R.array.state);
第二种:
在代码中进行数据源的存储与读取,这篇文章中我将使用这种方式进行实现
MainActivity :
package com.example.dow.spinner; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; import org.w3c.dom.Text; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private Spinner mSpinner; private TextView mTv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSpinner = (Spinner) findViewById(R.id.sp_btn); //只是为了展示我们的实现效果,故可不要 mTv = (TextView) findViewById(R.id.tv_content); //数据源 ArrayList<String> spinners = new ArrayList<>(); spinners.add("今日"); spinners.add("昨日"); spinners.add("本周"); spinners.add("上周"); spinners.add("本月"); spinners.add("上月"); //设置ArrayAdapter内置的item样式-这里是单行显示样式 final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinners); //这里设置的是Spinner的样式 , 输入 simple_之后会提示有4人,如果专属spinner的话应该是俩种,在特殊情况可自己定义样式 adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); //设置Adapter了 mSpinner.setAdapter(adapter); //监听Spinner的操作 mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { //选取时候的操作 @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { mTv.setText(adapter.getItem(position)); } //没被选取时的操作 @Override public void onNothingSelected(AdapterView<?> parent) { mTv.setText("No anything"); } }); } }
MainActivity Xml :
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.dow.spinner.MainActivity"> <Spinner android:padding="5dp" android:layout_gravity="center" android:layout_width="60dp" android:layout_height="wrap_content" android:id="@+id/sp_btn" /> <TextView android:padding="5dp" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv_content" /> </LinearLayout>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 《剑指offer》第19天:股票交易(校对)
- SwiftyUserDefaults-封装系统本地化的框架推荐
- “使用多target来构建大量相似App”,唐巧大神理论验证(附工程代码地址)
- 小结:Swift、OC语言中多target在代码中如何区分
- 点击按钮每次都能实现图片的旋转和切换(swift)
- 多线程之NSOperation小结
- 判断一个坐标点是否在封闭曲线内的方法(swift)
- OC循环方法推荐-块循环遍历(比for循环好用)
- oc工程中oc、swift混编代码打包成静态framework踩坑笔记
- alloc 和 init都做了什么验证。
- 回顾冒泡排序(新增优化代码)
- 计算输入的一句英文语句中单词数
- 《剑指offer》第21天:合并两个有序链表
- 单细胞转录组基础分析六:伪时间分析
- 使用PaintCode便捷地实现动画效果