Android Studio | ImageButton(圖標按鈕)ToggleButton(切換按鈕) Switch(滑動切換按鈕) RadioButton(單選按鈕)的案例(附可運行的demo)


按鈕合集案例

 

本文主要展現了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);
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM