为了账号安全,请及时绑定邮箱和手机立即绑定

关于ToggleButton的内容,出现的问题是在imageView的初始化图片,一直存在无法被覆盖

package com.example.willow.myapplication5;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.ToggleButton;


public class MainActivity5 extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
    //设置控件对象对相关的控件进行操作
    private ToggleButton tb;
    private ImageView img;

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

        //初始化控件
        tb = (ToggleButton) findViewById(R.id.toggleButton);
        img = (ImageView)findViewById(R.id.imageView);

        /**
         * 给当前的tb按钮设置监听事件(监听器)
         */
        tb.setOnCheckedChangeListener(this);


    }
    //重写方法onCheckedChanged()
    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){
        /**
         * 当tb被点击的时候,当前的方法会执行
         *
         * buttonView----代表被点击控件的本身
         * isChecked---代表被点击的控件的状态
         *
         * 当点击这个tb的时候,更换img的背景
         *
         */
        img.setBackgroundResource(isChecked?R.drawable.on:R.drawable.off);
    }

//    @Override
//    public void onPointerCaptureChanged(boolean hasCapture) {
//        /**
//         * 当tb被点击的时候,当前的方法会执行
//         *
//         * buttonView----代表被点击控件的本身
//         * isChecked---代表被点击的控件的状态
//         *
//         * 当点击这个tb的时候,更换img的背景
//         *
//         */
//        img.setBackgroundResource(hasCapture?R.drawable.on:R.drawable.off);
//    }

//    @Override
//    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//
//    }
}
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
    tools:context=".MainActivity5">

    <!--textOff fluse状态 textOn ture状态  -->
    <ToggleButton
        android:id="@+id/toggleButton"
        android:checked="false"
        android:textOff="@string/Off"
        android:textOn="@string/turn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:layout_editor_absoluteX="72dp"
        tools:layout_editor_absoluteY="16dp" />

    <!--android:src="@drawable/baign"-->
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="136dp"
        tools:layout_editor_absoluteY="228dp" />
</android.support.constraint.ConstraintLayout>
<resources>
    <string name="app_name">ToggleButton</string>
    <string name="turn">开</string>
    <string name="Off">关</string>
</resources>


正在回答

1 回答

//先执行一次image处理,显示关的状态
img.setBackgroundResource(R.drawable.off);


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312585    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

关于ToggleButton的内容,出现的问题是在imageView的初始化图片,一直存在无法被覆盖

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信