Android日记03

本文介绍了如何在Android应用中自定义EditText样式,包括添加描边和圆角,以及如何在登录界面中使用这些定制控件。还涵盖了不同输入类型的设置,如电话号码输入。同时,展示了Java代码片段,演示了如何监听EditText的文本变化并实现登录按钮的点击响应。
摘要由CSDN通过智能技术生成

Android日记05

文章目录

EditText

  • 常用属性
  • 监听事件
  • 制作登录界面

bg_username.xml

制作使用的描边的框子

stroke:描边

corners:圆角

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <stroke
        android:width="1dp"
        android:color="#999"/>

    <corners
        android:radius="10dp"/>

</shape>

布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

    <EditText
        android:id="@+id/ed_1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:textSize="16sp"
        android:textColor="#FFAD33"
        android:hint="用户名"
        android:background="@drawable/bg_username"
        android:paddingLeft="12dp"
        android:maxLines="1"
        android:layout_marginTop="50dp"/>

    <EditText
        android:id="@+id/ed_2"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:textSize="16sp"
        android:textColor="#FFAD33"
        android:hint="密码"
        android:layout_below="@id/ed_1"
        android:inputType="textPassword"
        android:layout_marginTop="15dp"
        android:background="@drawable/bg_username"
        android:paddingLeft="12dp"
        android:maxLines="1"/>

    <Button
        android:id="@+id/btn_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/ed_2"
        android:layout_marginTop="20dp"
        android:background="@drawable/bg_btn4"
        android:text="登录"
        android:textColor="#FFF"
        android:textSize="20sp"/>

</RelativeLayout>

android:inputType=“textPassword”

控制输入框中的类型

使用手机号

<EditText
    android:id="@+id/ed_3"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:textSize="16sp"
    android:textColor="#FFAD33"
    android:hint="手机号"
    android:layout_below="@id/ed_2"
    android:layout_marginTop="15dp"
    android:inputType="number"/>

将两行代码加入EditText中就可以在输入框中加入小icon

android:drawablePadding="5dp"
android:drawableLeft="@drawable/arrow_right"

界面截图

在这里插入图片描述

java控制代码

package com.eg.geoquiz;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class EditTextActivity extends AppCompatActivity {

    //声明控件
    private Button mBtnLogin;
    private EditText mETUserName;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit_text);

        //绑定控件
        mBtnLogin = findViewById(R.id.btn_login);
        mBtnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(EditTextActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
            }
        });

        //对EditText控件进行监控
        mETUserName = findViewById(R.id.ed_1);
        mETUserName.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                //CharSequence当前输入框中的内容
                Log.d("editText",s.toString());
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值