Day-19 Button

本篇内容要介绍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" />

执行後画面如图
https://ithelp.ithome.com.tw/upload/images/20210928/20141950yXSydGLhQW.png


接着我们要到java的地方进行撰写,目标是当Button点击後会改变TextView的字及颜色

  1. 首先必续import会使用到的元件,於此范例中就是就是View、TextView及Button
  2. 建立全域变数,private 类别 变数名称:
  3. 为变数找到指定元件,变数名称 = findViewById(R.id.元件ID);
  4. 为Button加入监听事件
变数名称.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後的画面如下
https://ithelp.ithome.com.tw/upload/images/20210928/201419508pL9lvpkHx.png


<<:  让Python GUI 画面在最前方显示/ 最小化显示/ 隐藏桌面图示的方法

>>:  抓取资料库数据 - SQL基础语法(下)

Ruby on Rails Model 验证及回呼

不是每个⽅法都会被验证... 虽然验证功能很⽅便,但并不是每种⽅法都会触发验证,仅有以下这些⽅法会触...

Day37 参加职训(机器学习与资料分析工程师培训班),ResNet, RNN

ResNet架构 from tensorflow.keras import Input, Model...

2022新年挑战 - 7 days for Javascript(Day 1 - Developer Set Up)

因为在工作上, 基本上碰不到Javascript, 感觉再不复习一下, 就要忘光光了 (汗) 所以决...

[DAY 25] 估计学生战力

如同前几天所说 「估计战力」是可以依照想看的不同能力去做的 例如我们把题目先依照章节进行分类 再去看...

IT 铁人赛 k8s 入门30天 -- day30 Share Process Namespace between Containers in a Pod

参考文件 https://kubernetes.io/docs/tasks/configure-po...