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>
<?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;
}
}
}
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: