特別聲明
該筆記是筆者通過學習 天哥在奔跑安卓教學視頻 時所編寫的
文字大小,顏色
通過對 Button 控件設置其 android:textSize
與 android: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();
}
});
}