文章目录
- 一、编辑框常用属性
- 二、案例实现
- 一、涉及知识点
- 二、实现步骤
- 1、创建安卓应用【UserRegistration】
- 2、将MainActivity重命名为RegistrationActivity
- 3、将activity_main.xml重命名为activity_regstration.xml
- 4、将两张背景图片拷贝到drawable目录
- 5、基于模板创建InformationActivity
- 6、字符串资源文件strings.xml
- 7、注册界面布局资源文件activity_registration.xml
- 8、显示信息界面布局资源文件activity_information.xml
- 9、用户注册界面类RegistrationActivity
- 10、注册信息显示界面InformationActivity
- 11、启动应用,查看效果
- 三、任务练习(实现乘法运算)
- 1、创建应用Multiplication
- 2、字符串资源文件
- 3、主布局资源文件
- 4、主界面
- 5、启动应用查看效果
一、编辑框常用属性
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、字符串资源文件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>
7、注册界面布局资源文件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/reg_bg"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name"
android:textColor="#000000"
android:textSize="16sp" />
<EditText
android:id="@+id/edtName"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/tvGender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gender"
android:textColor="#000000"
android:textSize="16sp" />
<EditText
android:id="@+id/edtGender"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/tvAge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/age"
android:textColor="#000000"
android:textSize="16sp" />
<EditText
android:id="@+id/edtAge"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/tvPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phone"
android:textColor="#000000"
android:textSize="16sp" />
<EditText
android:id="@+id/edtPhone"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="phone"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/tvEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email"
android:textColor="#000000"
android:textSize="16sp" />
<EditText
android:id="@+id/edtEmail"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textEmailAddress"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/tvHomePage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/home_page"
android:textColor="#000000"
android:textSize="16sp" />
<EditText
android:id="@+id/edtHomePage"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textUri"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/tvMemo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/memo"
android:textColor="#000000"
android:textSize="16sp" />
<EditText
android:id="@+id/edtMemo"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:lines="4" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:id="@+id/btnRegister"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:onClick="doRegister"
android:text="@string/register" />
<Button
android:id="@+id/btnCancel"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:onClick="doCancel"
android:text="@string/cancel" />
</LinearLayout>
</LinearLayout>
8、显示信息界面布局资源文件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/info_bg"
android:orientation="vertical"
android:padding="20dp" >
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="#0000ff"
android:textSize="18sp" />
<TextView
android:id="@+id/tvGender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="#0000ff"
android:textSize="18sp" />
<TextView
android:id="@+id/tvAge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="#0000ff"
android:textSize="18sp" />
<TextView
android: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" />
<TextView
android: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" />
<TextView
android: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" />
<TextView
android:id="@+id/tvMemo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="#0000ff"
android:textSize="18sp" />
</LinearLayout>
9、用户注册界面类RegistrationActivity
package net.ls.userregistration;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class RegistrationActivity extends AppCompatActivity {
private EditText etName;
private EditText etGender;
private EditText etAge;
private EditText etPhone;
private EditText etEmail;
private EditText etHomepage;
private EditText etMemo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_regstration);
etName = findViewById(R.id.edt_Name);
etGender = findViewById(R.id.edt_Gender);
etAge = findViewById(R.id.edt_Age);
etPhone = findViewById(R.id.edt_Phone);
etEmail = findViewById(R.id.edt_Email);
etHomepage = findViewById(R.id.edt_HomePage);
etMemo = findViewById(R.id.edt_Memo);
}
public void doRegister(View view){
//获取用户输入数据
String name = etName.getText().toString();
String gender = etGender.getText().toString();
String age = etAge.getText().toString();
String phone = etPhone.getText().toString();
String email = etEmail.getText().toString();
String homepage = etHomepage.getText().toString();
String memo = etMemo.getText().toString();
//将各项输入数据打包
Bundle data = new Bundle();
data.putString("name",name);
data.putString("gender",gender);
data.putString("age",age);
data.putString("phone",phone);
data.putString("email",email);
data.putString("home_page",homepage);
data.putString("memo",memo);
//创建意图,指定起始组件和目标组件
Intent intent = new Intent(this,informationActivity.class);
//利用意图携带数据包
intent.putExtras(data);
//按照意图启动目标窗口
startActivity(intent);
}
public void doCancel(View view){
finish();
}
}
10、注册信息显示界面InformationActivity
package net.ls.userregistration;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_information);
tvName = findViewById(R.id.tv_Name);
tvGender = findViewById(R.id.tv_Gender);
tvAge = findViewById(R.id.tv_Age);
tvPhone = findViewById(R.id.tv_Phone);
tvEmail = findViewById(R.id.tv_Email);
tvHomepage = findViewById(R.id.tv_HomePage);
tvMemo = findViewById(R.id.tv_Memo);
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、启动应用,查看效果
三、任务练习(实现乘法运算)
1、创建应用Multiplication
2、字符串资源文件
<resources>
<string name="app_name">乘法程序</string>
<string name="Calculate">计算</string>
<string name="clear">清除</string>
<string name="cancel">退出</string>
<string name="chen">×</string>
<string name="den">=</string>
</resources>
3、主布局资源文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|top">
<EditText
android:id="@+id/et_no1"
android:layout_width="100dp"
android:textSize="30dp"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="50sp"
android:text="@string/chen"/>
<EditText
android:id="@+id/et_no2"
android:layout_width="100dp"
android:textSize="30dp"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/den"
android:textSize="50sp"/>
<EditText
android:id="@+id/et_end"
android:layout_width="100dp"
android:textSize="30dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_marginTop="20dp"
android:layout_height="wrap_content">
<Button
android:id="@+id/bt_calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:text="@string/Calculate"/>
<Button
android:id="@+id/bt_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:text="@string/clear"/>
<Button
android:id="@+id/bt_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel"/>
</LinearLayout>
</LinearLayout>
4、主界面
- 声明变量
- 实例化对象
- 计算按钮实现
- 清除按钮实现
- 取消按钮实现
- 源代码
package net.ls.multiplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EdgeEffect;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
//声明变量
private EditText etno1;
private EditText etno2;
private EditText etEnd;
private Button btCalculate;
private Button btClear;
private Button btCancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化控件对象
etno1 = findViewById(R.id.et_no1);
etno2 = findViewById(R.id.et_no2);
etEnd = findViewById(R.id.et_end);
btCalculate = findViewById(R.id.bt_calculate);
btClear = findViewById(R.id.bt_clear);
btCancel = findViewById(R.id.bt_cancel);
btCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String num1=etno1.getText().toString();
String num2=etno2.getText().toString();
double numer1 = Double.parseDouble(num1);
double numer2 = Double.parseDouble(num2);
double endnum= numer1*numer2;
String numberend = String.valueOf(endnum);
etEnd.setText(numberend);
}
});
btClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
etno1.setText("");
etno2.setText("");
etEnd.setText("");
}
});
btCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
5、启动应用查看效果