Android初级TextView、EditText、Button的基本使用

Android初级TextView、EditText、Button的基本使用_第1张图片
一、实验目的及要求
掌握Android开发环境的搭建(基于Android Studio与Genymotion);
掌握Android项目的建立;
掌握TextView、EditText、Button的基本使用。
二、实验设备(环境)及要求
Android Studio3.3.1
三、实验内容与步骤
1.新建一个Android项目,设置项目的基本属性
2.修改项目为线性布局,设置方向为垂直,子组件对齐方式为水平居中
3. 以引用字符串资源的方式修改文本显示框的内容
4.新建用户名与密码输入的文本编辑框,设置输入提示信息
5.新建一个线性布局,设置控件高度为包裹内容
6.新建登录与注册按钮,设置样式,登录与注册的权重分别为1
7.新建文本显示框,设置自动识别文本中的链接
8.新建文本显示框,设置如下属性实现阴影效果

?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="45dp"
    android:layout_gravity="center_horizontal"
    tools:context=".MainActivity">

    <android.support.constraint.Guideline
        android:id="@+id/guideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_begin="367dp" />

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="0dp"
        android:text="@string/title"
        android:textSize="25sp"
        />

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="35dp"
        android:ems="10"
        android:hint="@string/userName"
        android:inputType="textPersonName"
        android:importantForAutofill="no"
        tools:targetApi="o" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="@string/password"
        android:inputType="textPassword"
        android:importantForAutofill="no"
        tools:targetApi="o" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="30dp">

        <Button
            android:id="@+id/button2"
            style="@style/Widget.AppCompat.Button.Colored"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="30dp"
            android:layout_weight="1"
            android:background="@color/colorPrimary"
            android:text="@string/login" />

        <Button
            android:id="@+id/button"
            style="@style/Widget.AppCompat.Button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="?attr/colorButtonNormal"
            android:text="@string/register"
            android:onClick="register"/>
    LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="60sp"
        android:autoLink="all"
        android:layout_gravity="center_horizontal"
        android:text="@string/about" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15sp"
        android:gravity="center_horizontal"
        android:shadowColor="#d5d6d6"
        android:shadowDx="5"
        android:shadowDy="5"
        android:shadowRadius="5"
        android:text="@string/shadow"
        android:textSize="40sp"
        android:textColor="#008477"/>



LinearLayout>

9.完整的字符串资源映射如下(res/values/styles.xml):

<resources>
    <string name="app_name">AndroidTest1string>
    <string name="title">My First Activitystring>
    <string name="userName">请输入用户名string>
    <string name="password">请输入密码string>
    <string name="login">登录string>
    <string name="register">注册string>
    <string name="about">联系方式\nTel:156XXXXXXXX\nEmail:[email protected]string>
    <string name="shadow">Androidstring>
resources>

10.修改Java文件以代码的方式修改标题的文本内容,通过HTML标签设置部分文本为红色
11.以设置按钮的点击监听的方式实现登录功能
12.实现注册功能,因在XML文档中通过属性onClick设置了点击事件,此处无需获得按钮设置点击监听(对比上面)
pack

package com.pyh.androidtest1;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView textView = findViewById(R.id.title);
        textView.setText(Html.fromHtml("My First Activity));

        final EditText editText1 = findViewById(R.id.editText);
        final EditText editText2 = findViewById(R.id.editText2);

        Button button = findViewById(R.id.button2);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = editText1.getText().toString();
                String password = editText2.getText().toString();
                if (TextUtils.isEmpty(name)) {
                    editText1.setError("名字不能为空");
                } else if (TextUtils.isEmpty(password)) {
                    editText1.setError("密码不能为空");
                } else if (name.equals("pyh") && password.equals("123")) {
                    Toast.makeText(MainActivity.this, "登录成功",
                            Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "账号或密码错误",
                            Toast.LENGTH_SHORT).show();
                }
            }
        });
    }


    public void register(View view) {
        Toast.makeText(MainActivity.this, "功能暂未开放",
                Toast.LENGTH_LONG).show();
    }
}

你可能感兴趣的:(Android)