【安卓學習筆記】Android Studio第3課——EditText控制元件
阿新 • • 發佈:2018-12-31
EditText和TextView很相似,主要不同的是EditText是使用者可以在上面編輯本文的,而TextView只能用app本身去改變和顯示。
做了一個簡單的登入介面:
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"> <TextView android:id="@+id/L3_text_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="使用者名稱" android:textSize="20sp" android:textColor="#000000" android:layout_marginTop="40dp" android:layout_marginLeft="10dp"/> <EditText android:id="@+id/L3_edt_name" android:layout_toRightOf="@id/L3_text_name" android:layout_alignBottom="@+id/L3_text_name" android:layout_width="match_parent" android:layout_height="50dp" android:hint="Name" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:maxLines="1"/> <TextView android:id="@+id/L3_text_password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密碼" android:textSize="20sp" android:textColor="#000000" android:layout_below="@+id/L3_text_name" android:layout_marginTop="20dp" android:layout_alignRight="@id/L3_text_name" /> <EditText android:id="@+id/L3_edt_password" android:layout_width="match_parent" android:layout_height="40dp" android:hint="PassWord" android:layout_toRightOf="@id/L3_text_password" android:layout_alignBottom="@id/L3_text_password" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:inputType="textPassword" android:paddingLeft="20dp" android:paddingRight="20dp" android:maxLines="1"/> <Button android:id="@+id/L3_button_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:text="登入" android:textSize="30sp"/> </RelativeLayout>
這裡主要說明一下EditText控制元件的屬性,除了基本的屬性外,有一個hint屬性inputType(輸入型別)屬性。
1、hint屬性:主要是在EditText框中做提示作用,顯示為淺灰色背景,比如使用者名稱框在使用者沒有輸入任何字元的時候就顯示一行“請輸入使用者名稱”的提示資訊,當用戶輸入後資訊消失。
2、inputType屬性有很多常用的輸入型別,這裡用到密碼輸入就選用:textPassword,即輸入的時候密碼不可見,其他的也不多深究,以後用到再說。
下面是Activity的程式碼
package com.example.urien.secondapp; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Lesson3_Activity extends AppCompatActivity { //1.宣告控制元件 private EditText L3_edt_name; private EditText L3_edt_password; private Button L3_button_login; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lesson3_); //2.找到相應的控制元件 L3_edt_name = findViewById(R.id.L3_edt_name); L3_edt_password = findViewById(R.id.L3_edt_password); L3_button_login = findViewById(R.id.L3_button_login); //4.設定相應的監聽器 L3_button_login.setOnClickListener(L3_button_login_listener); } //3.實現監聽器方法體內容 Button.OnClickListener L3_button_login_listener = new Button.OnClickListener(){ @Override public void onClick(View v) { String login = "登入成功"; String name = L3_edt_name.getText().toString(); String password = L3_edt_password.getText().toString(); Toast.makeText(Lesson3_Activity.this,login + " " + name + " " + password,Toast.LENGTH_LONG).show(); } }; }
程式碼也很簡單,當用戶電機登入按鈕後,觸發點選事件,處理的時候獲取兩個EditText中的內容並轉成字串,然後把兩個都列印到螢幕上。
By Urien 2018年5月9日 16:37:25