网络111井聪聪

Spinner是一种下接菜单,类似HTML中的select标签,点击后弹出一个对话框,显示几个供选择的选项,手机屏幕大小有限,如果都用RadioGroup单选按钮,会占用很大的空间。

Spinner需要绑定一个适配器ArrayAdapter,将菜单项放在适配器中,添加删除菜单项只需要调用适配器的add,remove方法即可。
布局XML;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText android:id="@+id/et"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>
<Button android:id="@+id/add"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="添加"
/>
<Button android:id="@+id/remove"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="删除"
/>
<Spinner android:id="@+id/sp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>
</LinearLayout>

一个EditText,用于定义需要添加或删除的菜单项,一个添加,一个删除按钮,还有一个就是Spinner
在strings.xml中定义一个初始的数组,就是刚开始时Spinner显示的项目,当然,也可以直接在JAVA代码中定义

在JAVA代码中定义

<string-array name="action">
    <item>吃饭</item>
    <item>睡觉</item>
    <item>上网</item>
    </string-array>

JAVA程序代码:

package com.pocketdigi.spanner;import java.util.ArrayList;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;public class main extends Activity {/** Called when the activity is first created. */EditText et;Button add,remove;Spinner sp;ArrayList<String> list=new ArrayList<String>();ArrayAdapter<String> adapter;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);et=(EditText)findViewById(R.id.et);add=(Button)findViewById(R.id.add);remove=(Button)findViewById(R.id.remove);sp=(Spinner)findViewById(R.id.sp);String[]  ls=getResources().getStringArray(R.array.action);for(int i=0;i<ls.length;i++){list.add(ls[i]);}adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);sp.setAdapter(adapter);sp.setPrompt("标题栏");add.setOnClickListener(new OnClickListener(){ @Overridepublic void onClick(View v) {adapter.add(et.getText().toString());setTitle(String.valueOf(list.size()));}});remove.setOnClickListener(new OnClickListener(){ @Overridepublic void onClick(View v) {adapter.remove(sp.getSelectedItem().toString());setTitle(String.valueOf(list.size()));}});}
}

转载于:https://www.cnblogs.com/cong2013/p/3158894.html

下拉菜单Spinner用法相关推荐

  1. Android UI设计 下拉菜单Spinner用法 动态添加删除Spinner菜单项

    Spinner是一种下接菜单,类似HTML中的select标签,点击后弹出一个对话框,显示几个供选择的选项,手机屏幕大小有限,如果都用RadioGroup单选按钮,会占用很大的空间.今天的例子最终效果 ...

  2. android studio 下拉菜单,android studio 的下拉菜单Spinner使用详解

    一.认识Spinner Spinner其实就是一个列表选择框.不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择. Spinner 与 Gallery 都继承了Abs ...

  3. android spinner自定义样式,android自定义Spinner下拉菜单(下拉列表框)样式

    在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...

  4. android自定义下拉筛选,android自定义Spinner下拉菜单(下拉列表框)样式

    在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...

  5. 下拉菜单html菜鸟教程,Bootstrap 下拉菜单

    Bootstrap 下拉菜单(Dropdown)插件 Bootstrap 下拉菜单 这一章讲解了下拉菜单,但是没有涉及到交互部分,本章将具体讲解下拉菜单的交互.使用下拉菜单(Dropdown)插件,您 ...

  6. php菜单栏样式,最常见的多个css下拉菜单样式分享

    CSS下拉菜单怎么做?在浏览网页的时候我们总会看到各式各样的下拉菜单,那么这些下拉菜单是怎么实现的呢?本篇文章就来给大家分享一下常用的多个CSS下拉菜单的实现方法. CSS下拉菜单的精选文章 随便打开 ...

  7. android studio 下拉菜单,怎么在android studio中使用Spinner实现一个下拉菜单

    怎么在android studio中使用Spinner实现一个下拉菜单 发布时间:2021-03-23 14:56:15 来源:亿速云 阅读:92 作者:Leah 这期内容当中小编将会给大家带来有关怎 ...

  8. 仿Ios下拉菜单,android Spinner效果(美团下拉效果)

    先上效果图: 直接上代码: Ios spinner文件 package com.choe.iosspinner;import android.app.Activity; import android. ...

  9. android联动下拉菜单,Android spinner下拉框连动

    本代码主要功能 1. 向拉菜单 spinner添加数据 2.下拉菜单连动 以下是核心代码 //定义变量 private Spinner spinner3; private Spinner spinne ...

最新文章

  1. linux中断下半部
  2. 【BZOJ 3036】 3036: 绿豆蛙的归宿 (概率DP)
  3. 各类排序算法总结(作者:__Boost)
  4. OpenCV实现幻灯片模糊slides blur的实例(附完整代码)
  5. mysql 有ntext_深入char、varchar、text和nchar、nvarchar、ntext的区别详解
  6. 浏览器窗口尺寸clientHeight / scrollHeight / offsetHeight / innerHeight
  7. 【ElasticSearch】Es 源码之 AliasValidator 源码解读
  8. CPU 架构 —— ARM 架构
  9. 数据结构之B+树插入详解
  10. excel服务器数据同步修改,勤哲Excel服务器同步解决海量数据快速上传问题
  11. 非平稳序列的随机分析
  12. phpstudy配置sg11
  13. 【0704】HL普及组模拟赛题解及反思
  14. 怎么做革命性创新产品
  15. Mac 上怎么双开微信
  16. Spring retry重试框架
  17. Nginx 正向代理互联网访问
  18. 原来,“空三加密”竟是加了这些“密”!
  19. java将秒转换为天,时,分
  20. 对几个汇编编译器的初步评价(MASM/FASM/NASM/GOASM)

热门文章

  1. SMTP错误码/具体原因
  2. 关于RTL8192CU
  3. 算法.动态规划 导航/数塔取数字问题
  4. MyEclipse链接SQLSERVER数据库时18456的问题
  5. C#:实现数据去重算法​(附完整源码)
  6. VBA的LENB()和Excel的LENB()区别
  7. 自学Android,学多久可以加入字节跳动?
  8. 【模拟经营】《模拟城市4豪华版》免安装中文版
  9. 单片机上电后没有运转,需要从这些方面考虑
  10. 文章开始同步到我的微信公众号