iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0

EditText這個元件,也是Android studio 一個常用的元件,允許使用者在Edit Text的框中輸入和編輯文字。它繼承自 TextView,因此具有顯示文字的功能,並且還能提供鍵盤輸入功能。這個元件常用於需要使用者輸入資料的地方,例如表單、登入介面或是搜尋框等等的地方。
https://ithelp.ithome.com.tw/upload/images/20240925/20168805kAtvovJxhP.png

以下介紹 Edit Text 的一些主要屬性與功能介紹:

EditText 大部分的功能屬性,其實與 TextView 十分相似,只有少部分功能稍有不同。然而,它同樣具備許多強大且靈活的屬性來精細控制其外觀和行為。這些屬性使得 EditText 不僅能夠像 TextView 一樣顯示文字,還能進一步提供使用者交互式的文字輸入功能,滿足更複雜的需求場景。

android:hint
提示使用者應輸入的內容,當 EditText 內部沒有文字時會顯示。
https://ithelp.ithome.com.tw/upload/images/20240925/20168805fq72Cohtdn.png
內部沒輸入文字時,會是這樣子
https://ithelp.ithome.com.tw/upload/images/20240925/201688057FZH2lylOc.png
android:inputType
控制 EditText 的輸入類型,根據類型決定鍵盤樣式和輸入行態。常見的值有 text(一般文字)number(數字)phone(電話號碼)password(密碼) 等等。
其實它還有很多類型可以選,紅框的部分,看使用者自己如何運用。
https://ithelp.ithome.com.tw/upload/images/20240925/20168805XOmj20ZR7E.png

簡單的範例
.xml

<TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:text=""
        android:textSize="20dp"
        android:gravity="center" />

    <EditText
        android:id="@+id/editText_1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:ems="10"
        android:hint="輸入你的名稱"
        android:inputType="textPersonName"
        android:textSize="20sp"/>

    <Button
        android:id="@+id/button"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_gravity="center"
        android:text="確認輸入"/>

.java

public class MainActivity extends AppCompatActivity {

        private EditText ed;
        private TextView tex1;
        private Button button;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            EdgeToEdge.enable(this);
            setContentView(R.layout.activity_main);

            ed = findViewById(R.id.editText_1);
            button = findViewById(R.id.button);
            tex1 = findViewById(R.id.textView);

            button.setOnClickListener(v -> {
                String name = ed.getText().toString();
                if (!name.isEmpty()) {
                    tex1.setText("您好, " + name + "!");
                } else {
                    tex1.setText("請輸入您的名字");
                }

            });
        }
}

在這個地方輸入你想要的名字
https://ithelp.ithome.com.tw/upload/images/20240925/20168805lA30fP1ZjI.png
成果:
https://ithelp.ithome.com.tw/upload/images/20240925/20168805rmtUTeffPV.png

元件介紹 Edit Text介紹完畢

下一篇元件介紹button


上一篇
# Day 16 元件介紹Text View
下一篇
# Day18 元件介紹 Button
系列文
當Java遇見Android,30天學習指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言