按鈕合集案例
本文主要展現了Android Studio 以下的幾類按鈕:
- 普通按鈕
- ImageButton(圖標按鈕)
- ToggleButton(切換按鈕)
- Switch(滑動切換按鈕)
- RadioButton(單選按鈕)
的使用定義和三種不同的事件觸發調用方法。
以下是阿里雲盤的源代碼demo鏈接,有需要實際運行的同學可自行下載運行調試。
demo演示視頻:
https://www.bilibili.com/video/BV1P34y1m72R?share_source=copy_web
代碼部分示例:
xml代碼
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" tools:context=".ButttonStyle"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello world"> </Button> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FDFDFD" android:src="@drawable/bilibili"> //圖標按鈕 </ImageButton> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="一鍵三連" android:drawableLeft="@drawable/bilibili"> //帶圖標的文字按鈕 </Button> <ToggleButton android:id="@+id/btn_toggle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="關" android:textOn="開" android:drawableLeft="@drawable/bilibili" android:onClick="showMSG" > //按鈕開關 </ToggleButton> <Switch android:id="@+id/btn_switch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="開" android:textOff="關" android:onClick="showMSG_switch" > //滑動按鈕開關 </Switch> <EditText android:id="@+id/edt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="text" android:text="請輸入:" android:textSize="20sp" > </EditText> <RadioGroup android:id="@+id/sex" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/boy" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/boy"> </RadioButton> //單選按鈕 <RadioButton android:id="@+id/girl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/girl"> </RadioButton> </RadioGroup> <Button android:id="@+id/btn_queding" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="確定" android:layout_gravity="center" android:textSize="20sp"> </Button> <TextView android:id="@+id/textinfo" android:layout_width="match_parent" android:layout_height="wrap_content" android:text=" " android:textSize="20dp" android:gravity="center"> </TextView> </LinearLayout>
java代碼
package com.example.mybilibili; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Switch; import android.widget.TextView; import android.widget.ToggleButton; public class ButttonStyle extends AppCompatActivity { TextView textView; RadioButton r1;//定義各類按鈕 RadioButton r2; EditText name; Button btn_queeren; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在xml視圖中找到要控制的對象 setContentView(R.layout.activity_buttton_style); textView=findViewById(R.id.textinfo); name=findViewById(R.id.edt); btn_queeren=findViewById(R.id.btn_queding); r1=findViewById(R.id.boy); r2=findViewById(R.id.girl); //這里的單選按鈕是一個組,所以group也要定義 RadioGroup sex =findViewById(R.id.sex); btn_queeren.setOnClickListener(new mClick());//設置確認按鈕的點擊事件 sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { //設置單選框的事件監聽 @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { //這里的i表示第幾個單選框被選中了,下標從0開始; RadioButton r=findViewById(i); //找到i后實例化RadioButton 為r,把當前選中的單選框的值傳給textView textView.setText("您輸入的性別為"+r.getText()); } }); } public void showMSG(View view){ //自定義一個點擊事件,當按鈕開關被點擊后在textView 中反映其狀態 if (((ToggleButton)view).isChecked()){ textView.setText("ToggleButton is ON"); }else{ textView.setText("ToggleButton is OFF"); } } public void showMSG_switch(View view){ //自定義一個點擊事件,當滑動按鈕開關被點擊后在textView 中反映其狀態 if (((Switch)view).isChecked()){ textView.setText("Switch is ON"); }else{ textView.setText("Switch is OFF"); } } class mClick implements View.OnClickListener{ //利用接口重寫方法實現確認按鈕點擊后在TextView上更新信息 @Override public void onClick(View view) { CharSequence str="",name2=""; name2=name.getText(); if (r1.isChecked()){ str=r1.getText(); } if (r2.isChecked()){ str=r2.getText(); } textView.setText("您輸入的信息為\n姓名"+name2+"\n性別"+str); } } }