Desenvolvimento Android - Componentes comuns do Android - botão de alternância ToggleButton e interruptor

4.7 ToggleButton e Switch

 1. Botão de alternância ToggleButton

Nome do Atributo

ilustrar

android:disabledAlpha

Define a transparência do botão quando desativado

android:textOff

O texto exibido quando o botão não está selecionado

android: textOn

O texto exibido quando o botão é selecionado Além disso, além disso, também podemos escrever um

seletor e, em seguida, defina a propriedade Background

2. Interruptor Interruptor

Nome do Atributo

ilustrar

android:showText

Se o texto deve ser exibido ao ativar/desativar, booleano

android: splitTrack

Se deve definir uma lacuna para separar o controle deslizante da imagem inferior, booleano

android:switchMinWidth

Defina a largura mínima do switch

android: switchPadding

Defina o espaçamento do texto no controle deslizante

android:switchTextAppearance

Define a aparência do texto do switch

android:textOff

O texto exibido quando o botão não está selecionado

android: textOn

O texto exibido quando o botão é selecionado

android:estilotexto

Estilo de texto, negrito, itálico e tracejado

android:pista

imagem inferior

android: polegar

imagem do controle deslizante

android:tipo de letra

Defina a fonte, esses três tipos são suportados por padrão: sans, serif, monospace;

Outros arquivos de fonte ( *.ttf ) podem ser usados ​​além deste

 Exemplo:

按钮样式:drawable文件夹下thumb_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@mipmap/caihongyuanxing"/>
    <item android:state_pressed="false" android:drawable="@mipmap/hongseyuanxing"/>
</selector>
 Estilo do slider: track_selector.xml na pasta drawable:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@mipmap/yuanjiaochangfangxing"/>
    <item android:state_checked="false" android:drawable="@mipmap/hongsechangfangxing"/>
</selector>

Efeito geral toggle_button.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/dark_gray"
    android:gravity="center"
    android:orientation="vertical">
    <ToggleButton
        android:id="@+id/tbtn_open"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:checked="true"
        android:textOff="关闭声音"
        android:textOn="打开声音"/>
    <Switch
        android:id="@+id/swh_status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:thumb="@drawable/thumb_selector"
        android:track="@drawable/track_selector"/>

</LinearLayout>

 Arquivo de inicialização: SwichActivity.java:

package com.example.myapplication;

import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.Toast;
import android.widget.ToggleButton;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class SwichActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
    private ToggleButton tbtn_open;
    private Switch swh_status;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.toggle_button);
        tbtn_open = (ToggleButton) findViewById(R.id.tbtn_open);
        swh_status = (Switch) findViewById(R.id.swh_status);
        tbtn_open.setOnCheckedChangeListener(this);
        swh_status.setOnCheckedChangeListener(this);
    }
    @Override
    public void onCheckedChanged(CompoundButton compoundButton,boolean b){
        switch (compoundButton.getId()){
            case R.id.tbtn_open:
                if(compoundButton.isChecked()){
                    Toast.makeText(this,"打开声音",Toast.LENGTH_LONG).show();
                }else {
                    Toast.makeText(this,"关闭声音",Toast.LENGTH_LONG).show();
                }
                break;
            case R.id.swh_status:
                if(compoundButton.isChecked()){
                    Toast.makeText(this,"开关:ON",Toast.LENGTH_LONG).show();
                }else {
                    Toast.makeText(this,"开关:OFF",Toast.LENGTH_LONG).show();
                }
                break;
        }
    }

}
Modifique a configuração: AndroidManifest.xml:

 Inicie o teste:

Clique em "Som ligado" ou "Som desligado":

 Clique no botão deslizante:

 Ligue o interruptor deslizante ou desligue o interruptor deslizante:

 recurso:

Acho que você gosta

Origin blog.csdn.net/LYly_B/article/details/129870813
Recomendado
Clasificación