分类:C#、Android、VS2015;

创建日期:2016-02-07

下拉列表框Spinner的用法和WinForms中ComboBox的用法非常相似,在Android应用中使用频次也相当高,因此必须熟练掌握它的基本用法。

一般在单独的XML中声明下拉列表可选项,这样更具有通用性。

示例5—Demo05Spinner

1、运行截图

2、添加demo05_Spinner.axml文件

在layout文件夹下添加该文件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="选择课程:"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:id="@+id/textView1" />
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner1" />
<Button
android:text="确定"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/buttonOK" />
</LinearLayout>

记住:每次修改布局文件后都要保存。否则在.cs文件中键入代码时无法利用智能提示找到对应的控件。

3、修改String.xml文件

打开values文件夹下的String.xml文件,将其改为下面的内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
……
<string-array name="CourseItems">
<item>数据结构</item>
<item>操作系统</item>
<item>计算机网络</item>
</string-array>
</resources>

这一步只是为了让你明白如何将String.xml中定义的数组和设计界面相关联。实际上在.cs文件中直接定义更方便。

4、添加Demo05Spinner.cs文件

在SrcActivity文件夹下添加该文件。

using Android.App;
using Android.OS;
using Android.Widget; namespace ch05demos.SrcActivity
{
[Activity(Label = "SpinnerDemo")]
public class Demo05Spinner : Activity
{
private Spinner spinner;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.demo05_Spinner);
spinner = FindViewById<Spinner>(Resource.Id.spinner1);
var adapter = ArrayAdapter.CreateFromResource(
this, Resource.Array.CourseItems,
Android.Resource.Layout.SimpleSpinnerItem);
adapter.SetDropDownViewResource(
Android.Resource.Layout.SimpleSpinnerDropDownItem);
spinner.Adapter = adapter;
spinner.ItemSelected += Spinner_ItemSelected;
var btn = FindViewById<Button>(Resource.Id.buttonOK);
btn.Click += delegate
{
string s = spinner.SelectedItem.ToString();
Toast.MakeText(this, s, ToastLength.Long).Show();
};
} private void Spinner_ItemSelected(object sender,
AdapterView.ItemSelectedEventArgs e)
{
string s = string.Format("所选课程为:{0}",
spinner.GetItemAtPosition(e.Position));
Toast.MakeText(this, s, ToastLength.Long).Show();
}
}
}

运行观察结果。

【Android】5.4 下拉框(Spinner)的更多相关文章

  1. Android 第三方开源下拉框:NiceSpinner

    Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Android原生提供的下拉框Spinner所提供的设计样式,而改用自定 ...

  2. Android第三方开源下拉框:NiceSpinner

     Android第三方开源下拉框:NiceSpinner Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Andro ...

  3. 030 Android 第三方开源下拉框:NiceSpinner的使用+自定义Button样式+shape绘制控件背景图+图片选择器(selector)

    1.NiceSpinner下拉框控件介绍 Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Android原生提供的下拉框 ...

  4. Android零基础入门第46节:下拉框Spinner

    原文:Android零基础入门第46节:下拉框Spinner 上一期学习了GridView的使用,你已经掌握了吗?本期一起来学习Spinner的使用. 一.认识Spinner Spinner其实就是一 ...

  5. android中自定义下拉框(转)

    android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在 ...

  6. android+myeclipse+mysql下拉框数据绑定

    原创作品,允许转载,转载时请务必声明作者信息和本声明.http://www.cnblogs.com/zhu520/p/8027036.html 本人小白,那个大神看到有问题可指出,谢谢.... 一:我 ...

  7. Android 之 下拉框(Spinner)的使用

    下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...

  8. 【转】Android 之 下拉框(Spinner)的使用

    原文网址:http://imshare.iteye.com/blog/770950 下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列 ...

  9. Android 之 下拉框(Spinner)的使用-转

    下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...

  10. 下拉框spinner

    repositories { flatDir { dirs 'libs' //就是你放aar的目录地址 maven { url "https://jitpack.io" } }}d ...

随机推荐

  1. spring mvc返回jsonp内容

    代码如下: import com.alibaba.fastjson.JSONPObject; @RequestMapping(value = "/method1") @Respon ...

  2. JavaScript 之 对象和数组

    一:对象   说起对象,我们不自然就想起了面向对象中自封装的一个类,同样JS中也是遵循这个守则,在web编程中几乎天天用到的就是JSON.是的,这就是一个对象,不过这个对象下面的字段都是字符串和值类型 ...

  3. Java连接Oracle数据库示例

    1.数据库复用模块 package cn.jzy.database; import java.sql.Connection; import java.sql.DriverManager; import ...

  4. wepy - 与原生有什么不同(watcher监听器.)

    <style> </style> <template> <view>监听值:{{num}}</view> </template> ...

  5. PHP高级教程-异常处理(Exception)

    PHP 异常处理 异常用于在指定的错误发生时改变脚本的正常流程. 异常是什么 PHP 5 提供了一种新的面向对象的错误处理方法. 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程.这种情况 ...

  6. Hadoop内部的限流机制

    前言 文章标题一開始提及到了一个令人感到有些抽象又显得有些非常"大"的词,限流.事实上这个词语在非常多行业都能够用到,比方近期春运,各大主要城市,火车站,地铁站都要做到限流吧,避免 ...

  7. DOS批处理高级教程

    转载-->http://blog.csdn.net/lanbing510/article/details/7461073 前言 本教程主要引用伤脑筋版主的系列文章,同时参考引用[英雄]教程等其他 ...

  8. Android Studio关于USB device not found的解决的方法

    Android Studio关于USB device not found的解决的方法 我们使用Android Studio进行Android开发时.当我们使用真机进行调试时.非常可能会出现USB de ...

  9. xml 及其语法

    先说一些关于框架,开发中的框架,主要是用反射技术来封装数据. 先指定规范写出xml,然后通过读写流技术封装好一些API用来映射xml文件,方便取得xml中的配置信息.取得xml内容就可以通过取得的内容 ...

  10. poj-------Common Subsequence(poj 1458)

    Common Subsequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 34477   Accepted: 13 ...