package com.gtercn.myapplication;

import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.NumberPicker;
import android.widget.TextView;
import android.widget.Toast; import java.text.SimpleDateFormat;
import java.util.Calendar; public class MainActivity extends Activity {
private Button mButton;
private NumberPicker mCityPicker;
private NumberPicker mCityPicker2;
private NumberPicker mCityPicker3;
private final static String[] CITYS = {"2004", "2006", "2003", "2002", "2001", "2016"};
private final static String[] date = {"5", "6", "7", "8", "9", "10"};
private final static String[] monteh = {"12", "11", "10", "9", "8", "7"};
private int mSeletedIndex;
private int mSeletedIndex2;
private int mSeletedIndex3;
String txt1;
String txt2;
String txt3; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_light);
mButton = (Button) findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder7 = new AlertDialog.Builder(
MainActivity.this);
builder7.setTitle("标题");
builder7.setIcon(R.mipmap.ic_launcher);
View view = LayoutInflater.from(MainActivity.this).inflate(
R.layout.activity_main, null);
mCityPicker = (NumberPicker) view.findViewById(R.id.city_picker);
mCityPicker2 = (NumberPicker) view.findViewById(R.id.city_picker2);
mCityPicker3 = (NumberPicker) view.findViewById(R.id.city_picker3);
//设置数据源
mCityPicker.setDisplayedValues(CITYS);
//设置数据长度
mCityPicker.setMinValue(0);
mCityPicker.setMaxValue(CITYS.length - 1);
mCityPicker.setValue(4);
//设置监听
mCityPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mSeletedIndex = newVal;
}
});
mCityPicker.setOnScrollListener(new NumberPicker.OnScrollListener() {
@Override
public void onScrollStateChange(NumberPicker view, int scrollState) {
switch (scrollState) {
case NumberPicker.OnScrollListener.SCROLL_STATE_FLING:
Log.e("TAG", "SCROLL_STATE_FLING");
//惯性滑动
break;
case NumberPicker.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
//手动滑动
Log.e("TAG", "SCROLL_STATE_TOUCH_SCROLL");
break;
case NumberPicker.OnScrollListener.SCROLL_STATE_IDLE:
//停止滑动
Log.e("TAG", "SCROLL_STATE_IDLE");
txt1 = CITYS[mSeletedIndex].toString();
//mTextView.setText(CITYS[mSeletedIndex]); //Toast.makeText(MainActivity.this, CITYS[mSeletedIndex], Toast.LENGTH_SHORT).show();
break;
} }
});
//设置数据源
mCityPicker2.setDisplayedValues(monteh);
//设置数据长度
mCityPicker2.setMinValue(0);
mCityPicker2.setMaxValue(monteh.length - 1);
mCityPicker2.setValue(4);
//设置监听
mCityPicker2.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mSeletedIndex2 = newVal;
}
});
mCityPicker2.setOnScrollListener(new NumberPicker.OnScrollListener() {
@Override
public void onScrollStateChange(NumberPicker view, int scrollState) {
switch (scrollState) {
case NumberPicker.OnScrollListener.SCROLL_STATE_FLING:
Log.e("TAG", "SCROLL_STATE_FLING");
//惯性滑动
break;
case NumberPicker.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
//手动滑动
Log.e("TAG", "SCROLL_STATE_TOUCH_SCROLL");
break;
case NumberPicker.OnScrollListener.SCROLL_STATE_IDLE:
//停止滑动
Log.e("TAG", "SCROLL_STATE_IDLE");
txt2 = monteh[mSeletedIndex2];
break;
} }
});
//设置数据源
mCityPicker3.setDisplayedValues(date);
//设置数据长度
mCityPicker3.setMinValue(0);
mCityPicker3.setMaxValue(date.length - 1);
mCityPicker3.setValue(4);
//设置监听
mCityPicker3.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mSeletedIndex3 = newVal;
}
});
mCityPicker3.setOnScrollListener(new NumberPicker.OnScrollListener() {
@Override
public void onScrollStateChange(NumberPicker view, int scrollState) {
switch (scrollState) {
case NumberPicker.OnScrollListener.SCROLL_STATE_FLING:
Log.e("TAG", "SCROLL_STATE_FLING");
//惯性滑动
break;
case NumberPicker.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
//手动滑动
Log.e("TAG", "SCROLL_STATE_TOUCH_SCROLL");
break;
case NumberPicker.OnScrollListener.SCROLL_STATE_IDLE:
//停止滑动
Log.e("TAG", "SCROLL_STATE_IDLE");
txt3 = date[mSeletedIndex3];
break;
} }
});
builder7.setView(view);
builder7.setPositiveButton("确定",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(
MainActivity.this,
txt1 + txt2 + txt3, Toast.LENGTH_LONG)
.show();
}
});
builder7.setNegativeButton("取消",
new android.content.DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub }
});
builder7.create();
builder7.show();
}
});
}
}

布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 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" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal"
android:gravity="center_vertical"> <NumberPicker
android:id="@+id/city_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></NumberPicker> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="年"
android:layout_marginLeft="10dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal"
android:gravity="center_vertical"> <NumberPicker
android:id="@+id/city_picker2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></NumberPicker> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="月"
android:layout_marginLeft="10dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal"
android:gravity="center_vertical"> <NumberPicker
android:id="@+id/city_picker3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></NumberPicker> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="日"
android:layout_marginLeft="10dp"/>
</LinearLayout>
</LinearLayout> </RelativeLayout>

先附上效果图片

Dialog+NumberPicker的更多相关文章

  1. 3java面试题 传智 发的 有用

    第一章内容介绍 20 第二章JavaSE基础 21 一.Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public.private.protect ...

  2. 使用NumberPicker定制自己喜欢的Date&TimePicker

    1.NumberPicker简介: NumberPicker是Android3.0之后引入的一个控件,主要功能是用于选择一组预定义好数字的控件. 该控件主要需要指导一个用于监听当前value变化的li ...

  3. Android使用NumberPicker控件实现选择城市,生日

    本人菜鸟一枚,第一次写技术博客,有点小紧张,加上代码很乱,求不喷. 先放效果图: 界面就这么简单. 然后放上代码: package com.example.dialog; import java.ut ...

  4. 底部菜单实现(Dialog方案)

    项目中经常会要实现在屏幕底部弹出一个窗口,比如一个分享窗口: 下面详解实现步骤: 1.定义布局 <?xml version="1.0" encoding="utf- ...

  5. Android日期对话框NumberPicker的使用方法教程

    NumberPicker是Android3.0之后引入的一个控件.NumberPicker 是用于选择一组提前定义好数字的控件.比方时间hour的选择仅仅有0-23有效,则能够通过setMinValu ...

  6. 使用MonoTouch.Dialog简化iOS界面开发

    MonoTouch.Dialog简称MT.D,是Xamarin.iOS的一个RAD工具包.它提供易于使用的声明式API,不需要使用导航控制器.表格等ViewController来定义复杂的应用程序UI ...

  7. 2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...

  8. Android PopupWindow Dialog 关于 is your activity running 崩溃详解

    Android PopupWindow Dialog 关于 is your activity running 崩溃详解 [TOC] 起因 对于 PopupWindow Dialog 需要 Activi ...

  9. 三个不常用的HTML元素:<details>、<summary>、<dialog>

    前面的话 HTML5不仅新增了语义型区块级元素及表单类元素,也新增了一些其他的功能性元素,这些元素由于浏览器支持等各种原因,并没有被广泛使用 文档描述 <details>主要用于描述文档或 ...

随机推荐

  1. winform,wpf,winrt获取屏幕分辨率

    winform 当前的屏幕除任务栏外的工作域大小     this.Width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Widt ...

  2. java 入门 第二季3

    1.继承 1.java是单继承的,一个子类只有一个父类 父类,基类 子类,派生类 2.继承的好处:子类拥有父类的所有属性和方法,属性的修饰符不能是private 3.语法规则: class 子类 ex ...

  3. July 5th, Week 28th Tuesday, 2016

    If you smile when no one else is around, you really mean it. 独处的时候你的笑容才是发自内心的笑容. Human beings are so ...

  4. 项目之solr全文搜索工具的安装

    1. Solr简介 Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置, ...

  5. android DisplayMetrics 获取屏幕分辨率

    Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显 ...

  6. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素

    1.认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面 ...

  7. 两个viewport的故事(第二部分)

    原文:http://www.quirksmode.org/mobile/viewports2.html 在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如&l ...

  8. Enter password for default keyring to unlock

    file /home/ok/.gnome2/keyrings/login.keyring /home/ok/.gnome2/keyrings/login.keyring: GNOME keyring, ...

  9. SQL错误级别 状态 怎么定义

    关于SQL Server的错误严重性级别的说明,强烈认真看一下下面的两个链接 脱机帮助 ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/sqlerrm9/html/ ...

  10. 【JAVA多线程概述】

    一.多线程概述 一个进程中至少有一个线程,每一个线程都有自己运行的内容,这个内容可以称为线程要执行的任务. 不能没一个问题都使用多线程,能使用单线程解决的问题就不要使用多线程解决. 使用多线程的弊端: ...