返回 登录
0

Android成长日记


Android——帮我改代码之ToggleButton

最近把自己入门的代码拿出来和刚入门的朋友们分享一下,以记录我们的攻城狮养成日记(不当之处,还望各位多多指点为谢!)

今天先分享一个ToggleButton

ToggleButton是一个不同zhuang

【ToggleButton】

有两种状态:选中和未选中,并且需要为不同状态设置不同的显示文本

属性:
android:checked="true"
android:textOff="关"
android:textOn="

下面以一个简单的例子来说明ToggleButton的使用:我们需要一个按钮来控制一盏灯,当灯亮的时候按钮显示为“开”的状态,当灯不亮时按钮显示为“关”的状态


activity.main.xml

<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">
    <ImageView
        android:id="@+id/iv_lamp"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:src="@mipmap/close"/>
    <ToggleButton
        android:id="@+id/tb_lamp"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="20dp"
        android:checked="false"
    android:textOff="关"/>

</LinearLayout>

MainActivity.java

public class MyToggleButton extends Activity {

    private ToggleButton tb_lamp;
    private ImageView iv_lamp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_toggle_button);

        iv_lamp = (ImageView) findViewById(R.id.iv_lamp);
        tb_lamp = (ToggleButton) findViewById(R.id.tb_lamp);

        //添加事件监听
        tb_lamp.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                //三目运算   如果被选中,则灯亮,否则不亮
                iv_lamp.setImageResource((isChecked)?R.mipmap.open:R.mipmap.close);
            }
        });
    }
}

嘿嘿,第一次发博文,勿念!

评论