安卓開發學習筆記03_Button

特別聲明

該筆記是筆者通過學習 天哥在奔跑安卓教學視頻 時所編寫的

文字大小,顏色

通過對 Button 控件設置其 android:textSizeandroid:textColor 便可以實現

<Button
	    android:id="@+id/btn_1"
	    android:layout_width="match_parent"
	    android:layout_height="40dp"
	    android:text="按鈕1"
	    android:textSize="20sp"
	    android:textColor="#FFF"
	    android:background="#FF0000"/>

效果圖
在這裏插入圖片描述

自定義背景形狀

在 drawable 文件夾下創建
在這裏插入圖片描述
在這裏插入圖片描述
設置如下的代碼
關於shape,我建議看 shape詳解
此處我們 通過設置 radius 跟 color 分別設置了圓角跟背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#FF9900"/>
    <corners android:radius="10dp"/>

</shape>

在主Activity中
通過 android:background="@drawable/bg_btn2" 來將自定義的屬性交給background

<Button
        android:id="@+id/btn_2"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="按鈕2"
        android:textSize="20sp"
        android:textColor="#FFF"
        android:background="@drawable/bg_btn2"
        android:layout_marginTop="10dp"/>

頁面效果
在這裏插入圖片描述

自定義按壓效果

在drawable文件夾下創建 bg_btn4.xml 配置文件
在這裏插入圖片描述

通過配置 android:state_pressed 分別確定點擊跟沒點擊時候的情況,再通過shape來給它設置響應的樣式

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <solid android:color="#AA6600"/>
            <corners android:radius="5dp"/>
        </shape>
    </item>

    <item android:state_pressed="false">
        <shape>
            <solid android:color="#FF9900"/>
            <corners android:radius="5dp"/>
        </shape>
    </item>
</selector>
<Button
        android:id="@+id/btn_4"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="按鈕4"
        android:textSize="20sp"
        android:textColor="#FFF"
        android:background="@drawable/bg_btn4"
        android:layout_below="@+id/btn_3"
        android:onClick="showToast"
        android:layout_marginTop="10dp"/>

點擊事件

此處推薦兩種方式

第一種方式

在 Activity.xml 中配置 android:onClick=方法名

<Button
        android:id="@+id/btn_4"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="按鈕4"
        android:onClick="showToast"/>

然後來到Activity.java類中,直接編寫該方法

public void showToast(View view){
        Toast.makeText(this,"btn4被點擊了",Toast.LENGTH_SHORT).show();
    }

第二種方法

直接在 Activity.java類中 聲明該組件,然後給該組件編寫監聽事件的方法

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

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

public class ButtonActivity extends AppCompatActivity {
    private Button mBtn3; // 所需要添加事件的控件

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);

        mBtn3 = findViewById(R.id.btn_3);
        mBtn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(ButtonActivity.this,"btn3被點擊了",Toast.LENGTH_SHORT).show();
            }
        });
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章