使用spinner 做下拉对话框
使用spinner 做下拉对话框
今天因为需要,要做一个对话框,android自带的列表框无法满足这种效果:
先看看运行的效果图:
点击后有向下显示的对话框:
一下是实现的代码:
public class MainActivity extends Activity {
Button button;
View view;
AlertDialog.Builder alertBuidler;
ArrayAdapter<String> adapter;
LayoutInflater inflate;
private List<String> list = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.button);
inflate = LayoutInflater.from(this);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
view = inflate.inflate(R.layout.alert_dialog, null);
Spinner spin = (Spinner)view.findViewById(R.id.spinner_City);
Spinner spin1 = (Spinner)view.findViewById(R.id.spinner_City1);
Spinner spin2 = (Spinner)view.findViewById(R.id.spinner_City2);
Spinner spin3 = (Spinner)view.findViewById(R.id.spinner_City3);
list.add("北京");
list.add("上海");
list.add("深圳");
list.add("南京");
list.add("重庆");
adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item, list);
//第三步:为适配器设置下拉列表下拉时的菜单样式。
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//第四步:将适配器添加到下拉列表上
spin.setAdapter(adapter);
spin1.setAdapter(adapter);
spin2.setAdapter(adapter);
spin3.setAdapter(adapter);
new AlertDialog.Builder(MainActivity.this).setView(view).show();
view = null; //这句话不能少,否则会抛出异常
}
});
}
}
主布局文件:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="click" />
</RelativeLayout>
弹出对话框的布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id= "@+id/widget28"
android:layout_width= "fill_parent"
android:layout_height= "fill_parent"
android:orientation= "vertical" >
<Spinner
android:id= "@+id/spinner_City"
android:layout_width= "fill_parent"
android:layout_height= "wrap_content" >
</Spinner>
<Spinner
android:id= "@+id/spinner_City1"
android:layout_width= "fill_parent"
android:layout_height= "wrap_content" >
</Spinner>
<Spinner
android:id= "@+id/spinner_City2"
android:layout_width= "fill_parent"
android:layout_height= "wrap_content" >
</Spinner>
<Spinner
android:id= "@+id/spinner_City3"
android:layout_width= "fill_parent"
android:layout_height= "wrap_content" >
</Spinner>
</LinearLayout>
其中的样式,可更具需要自行修改
Demo下载地址:
http://download.csdn.net/download/lyhdream/5192993
使用spinner 做下拉对话框相关推荐
- Excel2021单元格怎么做下拉菜单
环境: Win10 专业版 Excel 2021 问题描述: Excel2021单元格怎么做下拉菜单 解决方案: 1.选中要设置的这列,点击数据菜单-数据验证 2.点击数据验证 3.跳出菜单,选中序列 ...
- 数据有效性做下拉菜单
数据有效预警管理高级技巧 数据有效性做下拉菜单 数据有效性限制输入范围 输入前提示信息 出错警告 首先,打开excel表格,数据列名"类别",选中需要作用的区域,打开菜单栏中&qu ...
- excel 表做下拉框_Excel工作表的组合框下拉列表
excel 表做下拉框 Would you prefer a bigger font size for items in a data validation drop down list? Would ...
- excel2019如何做下拉菜单选项(数据源不占用原表上的单元格)
作为一个傻不拉几的菜鸟,今天又有收获了,好开心的,虽然被实验室一小姐姐给嫌弃得,不过谁让我脸皮够厚呢,哈哈哈哈. 目的:想在excel表格上增加单独的一列,如,某一列的第一行是姓名,剩下若干行增加一个 ...
- HTML/CSS 如何做下拉框(下拉菜单)?
一.什么是下拉框 下拉菜单通常使用在鼠标过程中,当鼠标悬停是出现一个下拉的菜单. 二.如何用代码做下拉框 详细操作如下: <!DOCTYPE html> <html lang=&qu ...
- Axure教程:用中继器做下拉菜单(含视频教程)
今天和大家分享一个中继器的高级教程--用中继器来做下拉菜单. 该教程有视频教程,已上传至原型分享群,进群可查看视频及下载原型. 一.原型效果预览 下面是做好的下拉菜单的效果,你们也可以自行体验哈. 原 ...
- javaweb和ajax使用查询出来的数据做下拉菜单_不会用Excel做数据筛选,老板叼的你没话说!...
很多人会做漂亮的表格,自信满满地给老板汇报,老板突然冒出一句话:你给我看下公司员工的学历分布情况. 这个问题能瞬间让很多人傻眼,自然少不了老板的一顿叼.其实数据筛选并不难,只要认真学,10分钟轻松搞定 ...
- WPF 用Popup做下拉菜单
今天无聊时看到必应搜索首页的菜单挺好,于是想着模仿一下..写着写着发现和我之前做的一个MenuItem很像,干脆直接拿来用了... 看看效果: 上图是bing.com首页右上角的下拉菜单,今天就来做了 ...
- excel不能插入activex控件_用excel做下拉多选菜单
先看视频: 下拉多选菜单https://www.zhihu.com/video/1070640311239249920 在日常工作中,有时候我们需要在单元格中输入多个固定内容的某几个项,手动输入很麻烦 ...
最新文章
- python定时播放音乐程序_python实现闹钟定时播放音乐功能
- vs2012新建项目产生的问题
- java linearlayout_LinearLayout属性用法和源码分析
- php 删除相对应的id,PHP 在下面这个留言板代码中加入删除按钮,每一个删除按钮删除相对应一行数据,这怎么弄...
- 报告PPT|Python编程之美(45页)
- 奇异值分解和非负矩阵分解
- 开源日志审计系统_详解mysql数据库审计特点、实现方案及审计插件部署演示
- virtuoso配合calibre进行电路后仿真
- 指纹调试 mtk(MT6763)- android8.1
- 解决Navicat 15注册机出现 rsa public key not found
- STL格式抽壳补孔洞破面修复等,Magics视频教程
- 思科路由器交换机指示灯状态详解
- flutter设置签名
- 微信文章数据分析一(阅读点赞评论)
- gcc中的 -I -L(大写l) -l(小写l) -Wl,-rpath 选项
- 啊哈算法, 水管工游戏
- 使用 Vue3 + elementPlus 做一个每日习惯打卡表
- java中国象棋棋盘放置棋子,Qt中国象棋二——棋盘与棋子的绘制
- 盈一眸恬淡,在明媚的春天等你
- IP定位的具体网络应用
热门文章
- 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机图形学与多媒体
- 程序员面试题精选100题(62)-C/C++/C#面试题(5)
- Day 8: Harp.JS——现代静态web服务器
- MicroPython支持图形化编辑了:Python Editor带你轻松玩转MicroPython
- Java HashMap的死循环的启示
- javascript基础 (2)
- 邮件:事务失败。 服务器响应为:DT:SPM 163 smtp
- 2016第51周三产品经理如何更有说服力
- objective-c 多媒体 音乐播放
- IOS7的一个神奇的Bug