iT邦幫忙

2023 iThome 鐵人賽

DAY 6
1

前言

在這裡我會教你們怎麼使用Button和TextView的應用,這裡我們會用到2個TextView和一個Button(按紐)來在使用。
功能
當按鈕被按下後會切換TextView文字的內容改,以偶數次與奇數次切割點發現點了偶數次則顯示偶數,點了奇數次則顯示奇數。

先付上結果圖
https://ithelp.ithome.com.tw/upload/images/20230809/20161502RDzEPyruhj.png

我的UI介面code

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="409dp"
        android:layout_height="546dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center"
            android:text="按紐被按下次數:XX"
            android:textColor="@color/white"
            android:textSize="24sp" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="8"
            android:gravity="center"
            android:text="我是被切換的文字"
            android:textColor="@color/white"
            android:textSize="48sp" />

        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="Button" />
    </LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

我的MainCode

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    //宣告變數
    private Button ChanceTextButton;
    private TextView countTextView;
    private TextView changeTextView;
    int count = 0;//用來計數被按下幾次
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ById();//綁定元件
        ChangeMyTextView();//切換文字
    }

    //綁定元件
    public void ById(){
        ChanceTextButton = findViewById(R.id.button);
        countTextView = findViewById(R.id.textView2);
        changeTextView = findViewById(R.id.textView3);
    }

    //切換文字
    public void ChangeMyTextView(){
        ChanceTextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                count++;//計數按鈕被按下的次數
                countTextView.setText("按紐被按下次數:" + Integer.toString(count));//設定文字修改被計數的次數
                //如果被按下偶數次就顯是 偶數 反之 奇數
                if(count%2 == 0){
                    changeTextView.setText("偶數次");
                }
                else{
                    changeTextView.setText("奇數次");
                }
            }
        });
    }

}

我的程式碼中用到的我自定義的兩個函式(function)

  1. Byid():用來綁定元件,我們使用findViewById(R.id.xxxxx),()掛號裡的xxxxx代表著綁定元件的id由它來幫助綁定到相對應的物件上,在.xml檔裡可以看到有android:id="@+id/xxxxxx"這就是你的元件id名稱的位置。
//綁定元件
public void ById(){
    ChanceTextButton = findViewById(R.id.button);
    countTextView = findViewById(R.id.textView2);
    changeTextView = findViewById(R.id.textView3);
}
2. ChangeMyTextView():用來切換文字做,裡面我們用到了setOnClickListener(new View.OnClickListener() {});的方法這個是按紐常見的使用方法。
//切換文字
    public void ChangeMyTextView(){
        ChanceTextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                count++;//計數按鈕被按下的次數
                countTextView.setText("按紐被按下次數:" + Integer.toString(count));//設定文字修改被計數的次數
                //如果被按下偶數次就顯是 偶數 反之 奇數
                if(count%2 == 0){
                    changeTextView.setText("偶數次");
                }
                else{
                    changeTextView.setText("奇數次");
                }
            }
        });
    }

介紹Button常用的函式

  • 用setOnClickListener(new View.OnClickListener() 在撰寫按鈕功能
        //ChanceTextButton我自定義的Button變數名稱
        ChanceTextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            //按鈕被按下做動作的地方
            }
        });

上一篇
Day5 - Android Studio 元件介紹(下)
下一篇
Day7 Button + EditText使用
系列文
Android studio使用過程與開發說明30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言