AutoCompleteTextView, Spinner, DatePicker等控件进行程序界面设计
2017-03-18 18:43
435 查看
Aim:
(1)居住地为AutoCompleteTextView,输入一个汉字后自动弹出选择;
(2)出生日期从DatePicker上选择,选择的结果显示在出生日期后面的文本框内;
(3)Email信箱:用户名由编辑框内输入,服务器通过Spinner选择;
(4)点击注册按钮后,将用户设置的信息显示在按钮下面的文本上,并弹出消息提示。
review:
AutoCompleteTextView : 自动完成文本框,从EditText派生而出,实际上也是一个文本编辑框,但它比普通逻辑框多了一个功能:当用户输入一定字符后,该文本框会自动显示一个下拉菜单(android:completionThreshold="n",即输入n个字符后提示),供用户选择,当用户选择了某个菜单项后,AutoCompleteTextView按用户选择自动填写该文本框;
DatePicker : 日期选择器,供用户选择日期YMD,相应的有时间选择器(TimePicker),由FrameLayout派生而来,DatePicker和TimePicker在Framelayout的基础上提供了一些方法来获取当前用户所选择的时间、日期;如果程序需要获取用户选择的日期、时间,则可以通过DatePicker添加OnDateChangedListener进行监听、为TimePicker添加OnTimerChangedListener进行监听来实现;
Spinner : 其实Spinner就是一个列表选择框(Android列表选择框不需要显示下拉列表,而是相当于弹出一个菜单供用户选择);
Toast : 提示框信息,有两个特点,1.提示信息不会获得焦点 2.提示信息过一段时间后会消失;
使用Toast生成提示框信息的步骤:
1. 调用Toast的构造器或makeText()静态方法创建一个Toast对象;
2. 调用Toast方法来设置该消息的对齐方式、页边距等;
3. 调用Toast的show()方法;
Structure:
MainActivity.java
activity_main.xml
effect diagram:
(1)居住地为AutoCompleteTextView,输入一个汉字后自动弹出选择;
(2)出生日期从DatePicker上选择,选择的结果显示在出生日期后面的文本框内;
(3)Email信箱:用户名由编辑框内输入,服务器通过Spinner选择;
(4)点击注册按钮后,将用户设置的信息显示在按钮下面的文本上,并弹出消息提示。
review:
AutoCompleteTextView : 自动完成文本框,从EditText派生而出,实际上也是一个文本编辑框,但它比普通逻辑框多了一个功能:当用户输入一定字符后,该文本框会自动显示一个下拉菜单(android:completionThreshold="n",即输入n个字符后提示),供用户选择,当用户选择了某个菜单项后,AutoCompleteTextView按用户选择自动填写该文本框;
DatePicker : 日期选择器,供用户选择日期YMD,相应的有时间选择器(TimePicker),由FrameLayout派生而来,DatePicker和TimePicker在Framelayout的基础上提供了一些方法来获取当前用户所选择的时间、日期;如果程序需要获取用户选择的日期、时间,则可以通过DatePicker添加OnDateChangedListener进行监听、为TimePicker添加OnTimerChangedListener进行监听来实现;
Spinner : 其实Spinner就是一个列表选择框(Android列表选择框不需要显示下拉列表,而是相当于弹出一个菜单供用户选择);
Toast : 提示框信息,有两个特点,1.提示信息不会获得焦点 2.提示信息过一段时间后会消失;
使用Toast生成提示框信息的步骤:
1. 调用Toast的构造器或makeText()静态方法创建一个Toast对象;
2. 调用Toast方法来设置该消息的对齐方式、页边距等;
3. 调用Toast的show()方法;
Structure:
MainActivity.java
package com.example.bestone.app1; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; 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 android.widget.Toast; import java.util.Calendar; public class MainActivity extends AppCompatActivity { private Spinner spinner; private AutoCompleteTextView actv; private int year; private int month; private int day; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String[] province = new String[]{ "1北京", "2浙江", "3天津", "4河南","5山东","6上海", "1北京1", "2浙江2", "3天津3", "4河南4","5山东5","6上海6" }; ArrayAdapter<String> pv = new ArrayAdapter<>(this, //封装数组 android.R.layout.simple_dropdown_item_1line,province); actv = (AutoCompleteTextView)findViewById(R.id.auto); //自动补全组件 actv.setAdapter(pv); DatePicker datePicker = (DatePicker)findViewById(R.id.datepicker); Calendar c = Calendar.getInstance(); //获取当前年月日 year = c.get(Calendar.YEAR); month = c.get(Calendar.MONTH); day = c.get(Calendar.DAY_OF_MONTH); datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { //初始化组件 @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { MainActivity.this.year = year; MainActivity.this.month = monthOfYear; MainActivity.this.day = dayOfMonth; showDate(year, monthOfYear, dayOfMonth); } }); spinner = (Spinner)findViewById(R.id.spinner); //获取界面布局中的Spinner组件 String[] arr = {"@outlook.com","@gmail.com"}; ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_multiple_choice,arr ); spinner.setAdapter(adapter); Button bt = (Button)findViewById(R.id.bt); //为按钮单击事件绑定事件监听器 bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String rs = actv.getText().toString(); //获取用户选择的residence EditText user = (EditText)findViewById(R.id.user); //把用户输入的用户名与邮件地址拼接 EditText date = (EditText)findViewById(R.id.show); //获取选择的日期 String dates = date.getText().toString(); String email_1 = user.getText().toString(); String email_2 = (String)spinner.getSelectedItem(); String email = email_1 + email_2; //显示提示信息 Toast.makeText(MainActivity.this, "居住地" + rs + "出生日期" + date + "邮箱" + email, Toast.LENGTH_SHORT).show(); } }); } private void showDate(int year, int month, int day){ EditText show = (EditText) findViewById(R.id.show); show.setText(year + "年" + (month+1) + "月" + day + "日"); } }
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <TableRow> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="居住地:" android:textSize="16sp" /> <AutoCompleteTextView android:id="@+id/auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionHint="all of the data~~~~~~" android:completionThreshold="1" /> </TableRow> <TableRow> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="出生日期:" android:textSize="16sp" /> <EditText android:id="@+id/show" android:layout_width="match_parent" android:layout_height="wrap_content" /> </TableRow> <DatePicker android:id="@+id/datepicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:startYear="1990" android:endYear="2017" android:calendarViewShown="false" android:spinnersShown="true" /> <TableRow> <EditText android:id="@+id/user" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" /> </TableRow> <Button android:id="@+id/bt" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="提交" /> </TableLayout>
effect diagram:
相关文章推荐
- 关于界面控件的学习3【spinner、autocompletetextview、NotificationBar】
- 7.高级控件(一)之AutoCompleteTextView和MultiCompleteTextView及Spinner-ListView
- 【android基础学习之四】——基础控件CheckBox,Spinner,AutoCompleteTextView,DatePicker,TimePicker
- Android常用控件之AutoCompleteTextView、Spinner
- 【Android基础笔记04】Spinner 和 AutoCompleteTextView 基本适配器控件的使用
- Android Spinner 下拉菜单和AutoCompleteTextView 自动填充控件
- Android高级控件之AutoCompleteTextView,MultiAutopleteTextView,Spinner,ListView,ExpandableListView
- Android入门笔记 - 界面开发 - RadioButton,CheckBox,Spinner,AutoCompleteTextView,DatePicker,TimePicker
- android自学第四天 Spinner 和 AutoCompleteTextView 基本适配器控件的使用
- Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
- AutoCompleteTextView控件
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- [Android] AutoCompleteTextView:自动完成输入内容的控件
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- Android开发之四(八):常用控件之自动提示(AutoCompleteTextView)
- Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
- Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究