Android學習筆記(五)——EditView

2020-10-27 11:00:41

Android小白,初次學習,筆記自用,敬請指正~😛
有幫助記得一鍵三連呀(點贊收藏關注)😁

一,學習內容:

1,兩個重要屬性:
	(1)android:inputType="輸入框的型別",
		可取:textVisiblePassword(明碼)|textPassword(點密碼)|phoneNumber(數位輸入框)...
    (2)android:hint="文字方塊為空時的提示文字"
2,簡單的登入頁面 :
	(1)如何自定義左側圖示:將找好的圖片放在drawable資料夾下然後利用以下程式碼參照即可
					android:drawableLeft="@drawable/圖片"
					解釋:在文字方塊的左邊繪製指定影象
					類似還有:drawableRight,drawableTop,drawableBottom...
					另外:drawablePadding控制文字與圖形之間的距離
					【注】需要的圖示影象可以在阿里巴巴向量庫下載,連結直通車附在最後
	(2)設定點選按鈕提示文字,在OnClick方法中加入:
			Toast.makeText(EditTextActivity.this,"點選按鈕顯示的文字內容",Toast.LENGTH_SHORT).show();

3,對於筆記三的補充:連結直通車附在最後
	(1)陰影字:
		android:shadowColor="陰影顏色"
        android:shadowDx="陰影在水平方向的偏移"
        android:shadowDy="陰影在垂直方向的偏移"
        android:shadowRadius="陰影的模糊程度(值越大越模糊)"
    
		
	(2)漸變背景色
	<gradient
        android:startColor="顏色1"
        android:centerColor="顏色2"
        android:endColor="顏色3"
        android:type="漸變型別:linear|sweep|radial"/>
        

二,效果演示:

(1)登陸介面:
在這裡插入圖片描述

(2)陰影字及漸變背景:

在這裡插入圖片描述

三,完整程式碼:

1,activity_main.xml

 <Button
        android:id="@+id/btn_edittext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="EditText"
        android:textAllCaps="false"/>

2,MainActivity.java

	mBtnEditText = findViewById(R.id.btn_edittext);//找到控制元件
        mBtnEditText.setOnClickListener(new View.OnClickListener() {//宣告點選事件實現頁面跳轉
            @Override
            public void onClick(View v) {
                //跳轉到EditText演示介面
                Intent intent = new Intent(MainActivity.this,EditTextActivity.class);
                startActivity(intent);
            }
        });

3,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="15dp">

    <EditText
        android:id="@+id/et_1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="50dp"
        android:textSize="20sp"
        android:textColor="#FFAD33"
        android:background="@drawable/bg_username"
        android:hint="使用者名稱"
        android:paddingLeft="10dp"
        android:drawableLeft="@drawable/icon_user"
        android:drawablePadding="5dp"/>
    <EditText
        android:id="@+id/et_2"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_below="@id/et_1"
        android:layout_marginTop="15dp"
        android:textSize="20sp"
        android:textColor="#FFAD33"
        android:inputType="textVisiblePassword"
        android:background="@drawable/bg_username"
        android:hint="密碼"
        android:paddingLeft="10dp"
        android:drawableLeft="@drawable/icon_password"
        android:drawablePadding="5dp"/>
    <Button
        android:id="@+id/btn_login"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:layout_below="@id/et_2"
        android:layout_marginTop="40dp"
        android:background="@drawable/bg_btn4"
        android:text="登入"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:layout_centerHorizontal="true"/>
</RelativeLayout>

4,EditTextActivity.java

package com.example.learning;

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();
            }
        });

        mEtUserName=findViewById(R.id.et_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) {
                Log.d("edittext",s.toString());

            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });
    }
}

5,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="#999999"/>
    <corners
        android:radius="5dp"/>
</shape>

6,bg_tv9

<?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="#FF9900"/>
    <corners
        android:radius="5dp"/>
    <gradient
        android:startColor="#f00"
        android:centerColor="#0f0"
        android:endColor="#00f"
        android:type="linear"
        />
</shape>

7,activity_text_view.xml

<TextView
        android:id="@+id/tv_8"
        android:layout_marginTop="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="好好學習"
        android:textColor="#FF7F24"
        android:textSize="60sp"
        android:shadowColor="#00f"
        android:shadowDx="20.0"
        android:shadowDy="10.0"
        android:shadowRadius="15.0"/>
    <TextView
        android:id="@+id/tv_9"
        android:layout_marginTop="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="天天向上"
        android:textColor="#FF7F24"
        android:textSize="60sp"
        android:background="@drawable/bg_tv9"/>

筆記(三)直通車

阿里巴巴向量庫直通車

相關筆記直通車:

Android學習筆記(一)——LinearLayout
Android學習筆記(二)——RelativeLayout
Android學習筆記(三)——TextView
Android學習筆記(四)——Button