文章目录

  • 零、学习目标
  • 一、继承关系图
  • 二、编辑框常用属性
  • 三、教学案例 - 用户注册
    • (一)运行效果
    • (二)涉及知识点
    • (三)实现步骤
      • 1、创建安卓应用【UserRegistration】
      • 2、将MainActivity重命名为RegistrationActivity
      • 3、将activity_main.xml重命名为activity_regstration.xml
      • 4、将两张背景图片拷贝到drawable目录
      • 5、基于模板创建InformationActivity
      • 6、注册界面布局资源文件activity_registration.xml
      • 7、显示信息界面布局资源文件activity_information.xml
      • 8、字符串资源文件strings.xml
      • 9、用户注册界面类RegistrationActivity
      • 10、注册信息显示界面InformationActivity
      • 11、启动应用,查看效果
  • 四、课后作业
    • 任务:编程实现乘法

零、学习目标

  1. 能说出编辑框常用属性
  2. 能利用编辑框编写应用接受用户各种类型的输入

一、继承关系图


EditText都是TextView的子类,用于接收用户输入的数据。课后大家可以去玩一玩EditText的子类AutoCompleteTextView。

二、编辑框常用属性

  1. text:文本框的文本内容
  2. maxLines:最大行数
  3. lines:行数
  4. inputType:输入数据类型
  5. hint:提示
  6. textColor:文本颜色
  7. textSize:文本字号
  8. textColorHint:提示文本颜色
  9. singleLine:文本是否单行(true, false)

三、教学案例 - 用户注册

(一)运行效果

(二)涉及知识点

  1. 线性布局(LinearLayout)
  2. 标签(TextView)
  3. 编辑框(EditText)
  4. 按钮(Button)
  5. 意图(Intent)
  6. 数据包(Bundle)

(三)实现步骤

1、创建安卓应用【UserRegistration】


2、将MainActivity重命名为RegistrationActivity


3、将activity_main.xml重命名为activity_regstration.xml


4、将两张背景图片拷贝到drawable目录

5、基于模板创建InformationActivity



6、注册界面布局资源文件activity_registration.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/registration_bg"android:gravity="center"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid:id="@+id/tvName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/name"android:textColor="#000000"android:textSize="16sp" /><EditTextandroid:id="@+id/edtName"android:layout_width="200dp"android:layout_height="wrap_content"android:ems="10"android:singleLine="true" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid:id="@+id/tvGender"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/gender"android:textColor="#000000"android:textSize="16sp" /><EditTextandroid:id="@+id/edtGender"android:layout_width="200dp"android:layout_height="wrap_content"android:ems="10"android:singleLine="true" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid:id="@+id/tvAge"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/age"android:textColor="#000000"android:textSize="16sp" /><EditTextandroid:id="@+id/edtAge"android:layout_width="200dp"android:layout_height="wrap_content"android:ems="10"android:inputType="number"android:singleLine="true" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid:id="@+id/tvPhone"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/phone"android:textColor="#000000"android:textSize="16sp" /><EditTextandroid:id="@+id/edtPhone"android:layout_width="200dp"android:layout_height="wrap_content"android:ems="10"android:inputType="phone"android:singleLine="true" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid:id="@+id/tvEmail"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/email"android:textColor="#000000"android:textSize="16sp" /><EditTextandroid:id="@+id/edtEmail"android:layout_width="200dp"android:layout_height="wrap_content"android:ems="10"android:inputType="textEmailAddress"android:singleLine="true" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid:id="@+id/tvHomePage"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/home_page"android:textColor="#000000"android:textSize="16sp" /><EditTextandroid:id="@+id/edtHomePage"android:layout_width="200dp"android:layout_height="wrap_content"android:ems="10"android:inputType="textUri"android:singleLine="true" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid:id="@+id/tvMemo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/memo"android:textColor="#000000"android:textSize="16sp" /><EditTextandroid:id="@+id/edtMemo"android:layout_width="200dp"android:layout_height="wrap_content"android:ems="10"android:lines="4" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><Buttonandroid:id="@+id/btnRegister"android:layout_width="80dp"android:layout_height="wrap_content"android:onClick="doRegister"android:text="@string/register" /><Buttonandroid:id="@+id/btnCancel"android:layout_width="80dp"android:layout_height="wrap_content"android:onClick="doCancel"android:text="@string/cancel" /></LinearLayout></LinearLayout>

7、显示信息界面布局资源文件activity_information.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/information_bg"android:orientation="vertical"android:padding="20dp" ><TextViewandroid:id="@+id/tvName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:textColor="#0000ff"android:textSize="18sp" /><TextViewandroid:id="@+id/tvGender"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:textColor="#0000ff"android:textSize="18sp" /><TextViewandroid:id="@+id/tvAge"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:textColor="#0000ff"android:textSize="18sp" /><TextViewandroid:id="@+id/tvPhone"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:autoLink="phone"android:textColor="#0000ff"android:textSize="18sp" /><TextViewandroid:id="@+id/tvEmail"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:autoLink="email"android:textColor="#0000ff"android:textSize="18sp" /><TextViewandroid:id="@+id/tvHomePage"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:autoLink="web"android:textColor="#0000ff"android:textSize="18sp" /><TextViewandroid:id="@+id/tvMemo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:textColor="#0000ff"android:textSize="18sp" /></LinearLayout>

8、字符串资源文件strings.xml

<resources><string name="app_name">用户注册</string><string name="name">姓名:</string><string name="gender">性别:</string><string name="age">年龄:</string><string name="phone">电话:</string><string name="email">邮箱:</string><string name="home_page">主页:</string><string name="memo">备注:</string><string name="register">注册</string><string name="cancel">取消</string>
</resources>

9、用户注册界面类RegistrationActivity

package net.hw.user_registration;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;import androidx.appcompat.app.AppCompatActivity;public class RegistrationActivity extends AppCompatActivity {private EditText edtName;private EditText edtGender;private EditText edtAge;private EditText edtPhone;private EditText edtEmail;private EditText edtHomePage;private EditText edtMemo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 利用布局资源文件设置用户界面setContentView(R.layout.activity_registration);// 通过资源标识符获得控件实例edtName = findViewById(R.id.edtName);edtGender = findViewById(R.id.edtGender);edtAge = findViewById(R.id.edtAge);edtPhone = findViewById(R.id.edtPhone);edtEmail = findViewById(R.id.edtEmail);edtHomePage = findViewById(R.id.edtHomePage);edtMemo = findViewById(R.id.edtMemo);}/*** 注册按钮单击事件处理方法** @param view*/public void doRegister(View view) {// 获取用户输入数据String strName = edtName.getText().toString();String strGender = edtGender.getText().toString();String strAge = edtAge.getText().toString();String strPhone = edtPhone.getText().toString();String strEmail = edtEmail.getText().toString();String strHomePage = edtHomePage.getText().toString();String strMemo = edtMemo.getText().toString();// 将各项输入数据打包Bundle data = new Bundle();data.putString("name", strName);data.putString("gender", strGender);data.putString("age", strAge);data.putString("phone", strPhone);data.putString("email", strEmail);data.putString("home_page", strHomePage);data.putString("memo", strMemo);// 创建意图,指定起始组件与目标组件Intent intent = new Intent(RegistrationActivity.this, InformationActivity.class);// 利用意图携带数据包intent.putExtras(data);// 按意图启动目标窗口startActivity(intent);}/*** 取消按钮单击事件处理方法** @param view*/public void doCancel(View view) {finish();}
}

10、注册信息显示界面InformationActivity

package net.hw.user_registration;import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;public class InformationActivity extends AppCompatActivity {private TextView tvName;private TextView tvGender;private TextView tvAge;private TextView tvPhone;private TextView tvEmail;private TextView tvHomePage;private TextView tvMemo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 利用布局文件设置用户界面setContentView(R.layout.activity_information);// 通过资源标识获得控件示例tvName = (TextView) findViewById(R.id.tvName);tvGender = (TextView) findViewById(R.id.tvGender);tvAge = (TextView) findViewById(R.id.tvAge);tvPhone = (TextView) findViewById(R.id.tvPhone);tvEmail = (TextView) findViewById(R.id.tvEmail);tvHomePage = (TextView) findViewById(R.id.tvHomePage);tvMemo = (TextView) findViewById(R.id.tvMemo);// 获得意图Intent intent = getIntent();if (intent != null) {// 获得意图携带的数据包Bundle bundle = intent.getExtras();// 从数据包里按键取值String strName = bundle.getString("name");String strGender = bundle.getString("gender");String strAge = bundle.getString("age");String strPhone = bundle.getString("phone");String strEmail = bundle.getString("email");String strHomePage = bundle.getString("home_page");String strMemo = bundle.getString("memo");// 设置各个标签的内容tvName.setText("姓名:" + strName);tvGender.setText("性别:" + strGender);tvAge.setText("年龄:" + strAge);tvPhone.setText("电话:" + strPhone);tvEmail.setText("邮箱:" + strEmail);tvHomePage.setText("主页:" + strHomePage);tvMemo.setText("备注:" + strMemo);}}
}

11、启动应用,查看效果

四、课后作业

任务:编程实现乘法

  • 编写乘法程序,运行效果如下图所示:
  • 输入被乘数与乘数,单击【计算】按钮:
  • 单击【清除】按钮,清空三个编辑框。
  • 单击【退出】按钮,退出应用程序。

安卓学习笔记17:常用控件 - 编辑框相关推荐

  1. Qt学习笔记之常用控件QlistWidget

    一.QListWidget Class The QListWidget class provides an item-based list widget. More... Header: #inclu ...

  2. 【MFC】学习笔记:常用控件之组合框(Combo Box)

    01.目录 目录 01.目录 02.控件介绍 03.控件的消息通知函数 04.创建组合框控件及成员函数介绍 4.1 组合框的创建 4.2 CComboBox类的主要成员函数 05.应用实例 06.总结 ...

  3. Qt学习笔记之常用控件QTreeWidget

    一.QTreeWidget Class The QTreeWidget class provides a tree view that uses a predefined tree model. Mo ...

  4. 安卓基础学习 Day 6|常用控件---列表视图+古诗查看

    目录 列表视图4要素 四种是适配器 古诗查看 古诗列表 1.主布局资源文件 2.诗歌列表项模板 3.字符串资源文件 4.主界面代码 5.启动应用.查看效果 古诗内容模板 1.内容模板的主布局资源文件 ...

  5. vs2010 学习Silverlight学习笔记(7):控件样式与模板

    概要: 终于知道Silverlight--App.xaml是干什么用的了,不仅可以用来封装样式(类似css),还可以制定控件模版...好强大的功能啊. 封装: 继续学习<一步一步学Silverl ...

  6. ASP.NET 学习笔记_01 广告控件的使用

    广告控件的使用: 广告文件是一个XML文件,广告文件中所有的标签属性被分析后放到adProperties字典中,用以属性编辑. ads.xml 1 <?xml version="1.0 ...

  7. JavaFX 学习笔记——窗口与控件

    前言 如今比较流行的桌面gui框架有WPF.WinForm.Qt.javafx等.其中WPF和WinForm目前还只能在运行Winsows上.Qt(widget)是一个很强大的跨平台C++框架(不只是 ...

  8. vb.net listview 删除选定行_VBA学习笔记59-1: listview控件

    学习资源:<Excel VBA从入门到进阶>第59集 by兰色幻想 本节学习Listview控件,它可以用多种视图方式显示项目的控件.由于其外形美观而且非常实用,所以使用频率很高. Lis ...

  9. kendo treeview 修改节点显示值_VBA学习笔记60-1: Treeview控件

    学习资源:<Excel VBA从入门到进阶>第60集 by兰色幻想 本节讲Treeview控件. TreeView控件是以树形结构显示数据的控件.利用TreeView控件,可以设计出树形结 ...

最新文章

  1. 【细品架构8/100】好代码是架构的根基
  2. iOS中UITextField 使用全面解析
  3. Java 线程池的介绍以及工作原理
  4. 2021考研数一李正元400题、张宇4套卷题目整理
  5. 李宏毅线性代数笔记9:对角化
  6. SpringBoot项目新建之后修改编译版本
  7. Javascript中字符串输出html的动态链接
  8. leetcode 19. Remove Nth Node From End of List | 19. 删除链表的倒数第 N 个结点(Java)
  9. homebrew 常用命令
  10. RocketMQ 使用及常见问题
  11. SQL Server 2005 Analysis Services实践(一)
  12. 再举个webstrom 正则应用例子。
  13. Java实现多线程的四种实现方式
  14. php过滤空格和回车,php如何去掉空格换行
  15. 不要随便点这个网站,你偷偷下载的小电影,他们全都知道!
  16. Android开发获取ImageView显示的图片尺寸
  17. 列车停站方案_基于节点分级的高速铁路列车停站方案设计策略
  18. 银河帝国----基地前奏
  19. ng-template、ng-container、ng-content 的用法
  20. JLX256128液晶屏字符显示驱动代码

热门文章

  1. 【Python成长之路】来聊聊多线程的几位“辅助”
  2. 告别并不遥远的儿时,抬眼期待未来
  3. canal mysql多节点_数据同步的终极解决方案,阿里巴巴开源的Canal框架当之无愧!!...
  4. 大数据好还是不好_学python好还是大数据好?想学IT,但有点搞不清方向的人可以看看...
  5. 战神笔记本电脑自带access吗_书评:6本二次元小说,每一本都很有想象力,你都读过吗?...
  6. 计算机图形学E4——OpenGL 区域种子填充
  7. poj 1733 ParityGame 并查集 离散化
  8. python以追加方式打开文件 线程安全吗_多线程追加文件,不加锁,会出现什么情况 ?...
  9. 【docker】安装教程
  10. 【mysql问题】can't connect to mysql server on 'localhost' (10060)