本篇內容要介紹Button元件,
除了認識Button的語法、屬性外,
同時也要為按鈕設置監聽及觸發事件,
以完成指定動作。
首先於畫面上建立一個TextView及Button,原始碼如下
<TextView
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="250dp"
android:text="測試"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/touch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:text="點擊"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/test" />
執行後畫面如圖
接著我們要到java的地方進行撰寫,目標是當Button點擊後會改變TextView的字及顏色
變數名稱.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
要執行的內容
}
});
而此範例中執行的內容為改變TextView顯示的字及顏色,因此撰寫以下內容:
TextView的ID.setText("欲顯示內容");
TextView的ID.setTextColor(Color.rgb(欲顯示的顏色以RGB表示));
以下是完整的程式碼
package com.example.cons;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.accessibility.AccessibilityViewCommand;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private TextView test;
private Button touch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
test = findViewById(R.id.test);
touch = findViewById(R.id.touch);
touch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
test.setText("Boom!!!");
test.setTextColor(Color.rgb(255, 0, 0));
}
});
}
}
最後點擊Button後的畫面如下