小白开发安卓程序之路(2-4)EditText(常用属性、监听事件、登录界面)
程序员文章站
2022-06-21 19:58:57
小知识activity_main.xml中给button加上textAllCaps属性设为false,就不会全大写了。Button里的字默认居中。注意打印字符串时的变量名实战代码中用到两张图片需要提前存到相应文件夹代码MainActivity.javapackage com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;imp...
小知识
- activity_main.xml中给button加上textAllCaps属性设为false,就不会全大写了。
- Button里的字默认居中。
- 注意打印字符串时的变量名
实战
代码中用到两张图片需要提前存到相应文件夹
代码
MainActivity.java
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button mbtnTextView;
private Button mbtnButton;
private Button mbtnEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mbtnTextView=findViewById(R.id.btn_textview);
mbtnTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转至TextView演示界面
Intent intent=new Intent(MainActivity.this,TextViewActivity.class);
startActivity(intent);
}
});
mbtnTextView=findViewById(R.id.btn_button);
mbtnTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//跳转到Button演示界面
Intent intent=new Intent(MainActivity.this,ButtonActivity.class);
startActivity(intent);
}
});
mbtnEditText=findViewById(R.id.btn_edittext);
mbtnEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//跳转到Button演示界面
Intent intent=new Intent(MainActivity.this,EditTextActivity.class);
startActivity(intent);
}
});
}
}
activity_main.xml
<?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"
tools:context=".MainActivity"
android:orientation="vertical">
<Button
android:id="@+id/btn_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textAllCaps="false"/>
<Button
android:id="@+id/btn_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Textbutton"
android:textAllCaps="false"/>
<Button
android:id="@+id/btn_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EditText"
android:textAllCaps="false"/>
<!--textAllCaps即内容全部大写 -->
</LinearLayout>
EditTextActivity.java
package com.example.myapplication;
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 view) {
Toast.makeText(EditTextActivity.this,"登录成功",Toast.LENGTH_LONG).show();
}
});
mEtUserName=findViewById(R.id.et_1);
mEtUserName.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Log.d("edittext",charSequence.toString());
//监听输入内容并输出(在logcat可以看到)
}
@Override
public void afterTextChanged(Editable editable) {
}
});
}
}
activity_edit_text.xml
<?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="10dp">
<EditText
android:id="@+id/et_1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:textSize="20sp"
android:textColor="#FFAAAA"
android:hint="用户名"
android:background="@drawable/bg_username"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:drawableLeft="@drawable/icon_user"
android:drawablePadding="5dp"
android:maxLines="1"
android:layout_marginTop="50dp"/>
<!--hint灰色提示文字
用background设置框框格式为描边
padding设置类边距 不然文字太靠边
margintop设置与最上面的距离
drawableLeft 在左侧放置一个drawable文件(这里是一个icon图标)
drawablePadding 设置图标与文字间隔
maxlines限制最大行数-->
<EditText
android:id="@+id/et_2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:textColor="#AACC22"
android:textSize="20sp"
android:hint="密码"
android:inputType="textPassword"
android:layout_below="@id/et_1"
android:background="@drawable/bg_username"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:drawableLeft="@drawable/icon_password"
android:drawablePadding="5dp"
android:maxLines="1"/>
<!--inputType=textPassword 密码隐藏 inputType=number就是弹出数字键盘 -->
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/et_2"
android:layout_marginTop="30dp"
android:background="@drawable/bg_btn_4"
android:text="登录"
android:textColor="#000000"
android:textSize="20sp" />
<!--background用了按压会变色的drawable
在EditTextActivity.java中为这个按钮添加了点击事件,会弹出“登录成功” -->
</RelativeLayout>
bg_username.xml
<?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="#878282"/>
<!-- 描边-->
<corners
android:radius="8dp"/>
<!-- 圆角-->
</shape>
bg_btn_4.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<solid android:color="#2A9FAE"/>
<corners android:radius="5dp"/>
</shape>
</item>
<!--按压时 -->
<item android:state_pressed="false">
<shape>
<solid android:color="#79EDFD"/>
<corners android:radius="5dp"/>
</shape>
</item>
<!--未按压 -->
</selector>
效果
本文地址:https://blog.csdn.net/weixin_45941945/article/details/107418545
上一篇: 樱桃的种子怎么种?樱桃有哪些功效?
下一篇: logback配置和使用