AutoCompleteTextView、Spinner、ListView、Dialog等高级组件练习
来源:互联网 发布:药智网红外光谱数据库 编辑:程序博客网 时间:2024/06/06 17:40
Aim :
1. 用户名和密码使用EditText;
2. 所在地区使用Spinner控件,供用户选择所在的省份;
3. 出生日期:用户单击输入框时,弹出DatePickerDialog,将用户设置的日期显示在EditText中;
4. E-mail使用AutoCompleteTextView控件。
5. 当用户点击注册按钮时,弹出列表对话框,显示用户输入的信息,供用户进行确认。
Review :
DatePickerDialog : 日期选择对话框,相应的有 时间选择对话框TimePickerDialog , 用法:
1. 通过New关键字创建DatePickerDialog、TimePickerDialog实例,调用它们的show()方法即可将日期和时间选择对话框显示出来;
2. 为DatePickerDialog、TimePickerDialog绑定监听器,可以保证用户通过DatePickerDialog、TimePickerDialog设置时间时触发监听器,从而通过监听器来获取用户设置的事件;
AlertDialog : 可以生成各种内容的对话框,可分为4个区域:图标区、标题区、内容区、按钮区;
创建AlertDialog的步骤:
1. 创建AlertDialog对象;
2. 调用AlertDialog.Builder的setTitle()、setCustomTitle()、setIcon()、setMessage()、setItems()等方法设置标题、图标、对话框内容;
3. 调用AlertDialog.Builder的setPositiveButton()、setNegativeButton等方法添加多个按钮;
4. 调用create()方法创建AlertDialog对象,再调用AlertDialog对象的show()方法将该对话框显示出来;
对话框内容使用有如下方法:
setMessage() : 设置对话内容为简单文本内容;
setItems() : 设置对话框内容为简单列表项;
setSingleChoiceItems() : 设置对话框内容为单选列表项
setMultiChoiceItems() : 设置对话框内容为多选列表项
setAdapter() : 设置对话框内容为自定义列表项
setView() : 设置对话框内容为自定义View
Structure:
主要还是MainActivity.java和activity_main.xml两个文件;
Code:
MainActivity.java
package com.example.bestone.test4_2;import android.app.DatePickerDialog;import android.content.DialogInterface;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.Button;import android.widget.DatePicker;import android.widget.EditText;import android.widget.Spinner;import java.util.Calendar;public class MainActivity extends AppCompatActivity { private Spinner spinner; private EditText birthday; private AutoCompleteTextView email; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = (Spinner)findViewById(R.id.spinner); //获取界面布局中的Spinner组件 String[] arr = { "北京", "浙江", "天津", "河南","山东","上海"}; ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_multiple_choice,arr ); spinner.setAdapter(adapter); birthday = (EditText)findViewById(R.id.birthday); //为EidtText点击事件绑定监听器 birthday.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Calendar c = Calendar.getInstance(); new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener(){ @Override public void onDateSet(DatePicker datePicker, int i, int i1, int i2) { EditText show = (EditText)findViewById(R.id.birthday); show.setText(i+"年"+(i1+1)+"月"+i2+"日"); } } ,c.get(Calendar.YEAR) ,c.get(Calendar.MONTH) ,c.get(Calendar.DAY_OF_MONTH)).show(); } }); email = (AutoCompleteTextView)findViewById(R.id.email); // String email = email.getText().toString(); //输入数字自动匹配邮箱后缀暂为解决,以后会补充 String[] emailSufix = new String[]{"@outlook.com","@gmail.com"}; ArrayAdapter<String> arr2 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line,emailSufix); email.setAdapter(arr2); Button bt = (Button)findViewById(R.id.bt); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { simple(view); } }); } public void simple(View source){ EditText user = (EditText)findViewById(R.id.user); EditText birthday = (EditText)findViewById(R.id.birthday); AutoCompleteTextView email = (AutoCompleteTextView)findViewById(R.id.email); String users = user.getText().toString(); String birthdays = birthday.getText().toString(); String provinces = (String)spinner.getSelectedItem(); String emails = email.getText().toString(); AlertDialog.Builder builder = new AlertDialog.Builder(this) //创建 .setTitle("请确认以下信息") //标题 .setItems(new String[] {"用户名:"+users,"所在地区:"+provinces,"出生日期:"+birthdays,"Email:"+emails}, null); //对话框内容 builder.setNegativeButton("确定", new DialogInterface.OnClickListener() { //按钮 @Override public void onClick(DialogInterface dialogInterface, int i) { } }); builder.setPositiveButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }).create().show(); }}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><TableLayout 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.bestone.test4_2.MainActivity"> <TableRow> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="用户名:" android:textSize="16sp" /> <EditText android:id="@+id/user" android:layout_width="match_parent" android:layout_height="wrap_content" /> </TableRow> <TableRow> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="密码:" android:textSize="16sp" /> <EditText android:id="@+id/password" android:inputType="numberPassword" android:layout_width="match_parent" android:layout_height="wrap_content" /> </TableRow> <TableRow> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="所在地区:" android:textSize="16sp" /> <Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" /> </TableRow> <TableRow> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="出生日期:" android:textSize="16sp" /> <EditText android:id="@+id/birthday" android:layout_width="match_parent" android:layout_height="wrap_content" /> </TableRow> <TableRow> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Email:" android:textSize="16sp" /> <AutoCompleteTextView android:id="@+id/email" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionThreshold="1" /> </TableRow> <Button android:id="@+id/bt" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="注册" /></TableLayout>
效果图:
- AutoCompleteTextView、Spinner、ListView、Dialog等高级组件练习
- android高级组件(2)AutoCompleteTextView,MutiAutoCompleteTextView,Spinner,ListView
- Android高级控件之AutoCompleteTextView,MultiAutopleteTextView,Spinner,ListView,ExpandableListView
- android spinner autocompleteTextView 组件使用
- 7.高级控件(一)之AutoCompleteTextView和MultiCompleteTextView及Spinner-ListView
- android中的高级组件(二)(Spinner,ListView,GridView)
- Android组件的使用:AutoCompleteTextView、Spinner
- android 高级组件之 AutoCompleteTextView
- AutoCompleteTextView、Spinner
- android 高级组件之Spinner
- android自定义tabwidget,popupwindow,spinner,dialog,listview
- AutoCompleteTextView,Spinner和ListView这几个控件的使用
- Android中AutoCompleteTextView,Spinner和ListView的使用
- android高级界面组件之AutoCompleteTextView
- 常见高级组件之AutoCompleteTextView和MutiAutoCompleteTextView
- 如何使用适配器的 与ListView、Spinner、GirdView 等组件进行数据绑定
- AutoCompleteTextView, Spinner, DatePicker等控件进行程序界面设计
- 安卓的控件之AutoCompleteTextView,ListView,Menu,Dialog
- 闲话Linux下的系统监控
- Spring mvc系列八之 页面静态化(一)
- Go语言基础学习二-简单的代码分析
- android中的shape属性
- jeesite快速开发平台(四)----数据库各表一览
- AutoCompleteTextView、Spinner、ListView、Dialog等高级组件练习
- Mint UI —— 基于 Vue.js 的移动端组件库
- 如何实现图片转文字的简单方法
- 树状结构存储
- Spark结构式流编程指南
- Servlet、Struts2、SpringMVC执行流程
- xstream解析
- 可视化自编码器训练结果
- Poco学习资料