Android Studio的CheckBox:

首先我们和平时一样在主页新建一个button:

<Button

android:id=”@+id/Checkbox”

android:layout_height=”wrap_content”

android:layout_width=”match_parent”

android:layout_marginTop=”5dp”

android:text=”Checkbox”

android:textSize=”25sp”

android:textAllCaps=”false”

android:background=”#ff3300″

/>

然后去java文件里设置跳转和创建一个跳转页面:

<?xml version=”1.0″ encoding=”utf-8″?>

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”

    android:layout_width=”match_parent”

    android:layout_height=”match_parent”

    android:padding=”20dp”

    >

    <TextView

        android:id=”@+id/tv”

        android:layout_width=”match_parent”

        android:layout_height=”wrap_content”

        android:text=”What action do you like:”

        android:textSize=”25sp”

        android:layout_marginBottom=”10dp”

        />

我认为相对布局好用一点:

然后用了相对布局:

我们新建一个textview。

在后面新建一个checkbox:

    <CheckBox

        android:id=”@+id/action1″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:text=”

        android:layout_below=”@id/tv”

        android:textSize=”25sp”

        />

    <CheckBox

        android:id=”@+id/action2″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:text=”

        android:layout_below=”@id/tv”

        android:textSize=”25sp”

        android:layout_toRightOf=”@id/action1″

        android:layout_marginLeft=”200dp”

        />

    <CheckBox

        android:id=”@+id/action3″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:text=”

        android:layout_below=”@id/action1″

        android:textSize=”25sp”

        android:layout_marginTop=”20dp”

        />

    <CheckBox

        android:id=”@+id/action4″

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:text=”

        android:layout_below=”@id/action2″

        android:layout_toRightOf=”@id/action3″

        android:textSize=”25sp”

        android:layout_marginLeft=”200dp”

        android:layout_marginTop=”20dp”

        />

截屏2020-02-16下午11.58.09.png

Checkbox也没有什么特殊的属性。

然后下面是我用别的图片来代替checkbox的图片:

先创建一个xml文件:

像这样用item里的drawable来表示选中和为选中

<?xml version=”1.0″ encoding=”utf-8″?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”>

    <item

        android:state_checked=”false”

        android:drawable=”@drawable/check”>

    </item>

    <item

        android:state_checked=”true”

        android:drawable=”@drawable/checksurface”>

    </item>

</selector>

我的图片为:

check.png
checksurface.png

这两个。

    <LinearLayout

        android:id=”@+id/ll”

        android:layout_height=”wrap_content”

        android:layout_width=”match_parent”

        android:layout_below=”@id/action4″

        android:orientation=”vertical”

        android:layout_marginTop=”25dp”

        >

        <TextView

            android:layout_width=”wrap_content”

            android:layout_height=”wrap_content”

            android:layout_marginBottom=”20dp”

            android:text=”What is your hobby?

            android:textSize=”25sp” />

        <CheckBox

            android:id=”@+id/hb_c”

            android:layout_width=”wrap_content”

            android:layout_height=”wrap_content”

            android:text=”

            android:textSize=”25sp”

            android:layout_marginBottom=”10dp”

            android:button=”@drawable/checkbox”

            />

        <CheckBox

            android:id=”@+id/hb_t”

            android:layout_width=”wrap_content”

            android:layout_height=”wrap_content”

            android:text=”

            android:textSize=”25sp”

            android:layout_marginBottom=”10dp”

            android:button=”@drawable/checkbox”

            />

        <CheckBox

            android:id=”@+id/hb_r”

            android:layout_width=”wrap_content”

            android:layout_height=”wrap_content”

            android:text=”RAP”

            android:textSize=”25sp”

            android:layout_marginBottom=”10dp”

            android:button=”@drawable/checkbox”

            />

        <CheckBox

            android:id=”@+id/hb_l”

            android:layout_width=”wrap_content”

            android:layout_height=”wrap_content”

            android:text=”篮球

            android:textSize=”25sp”

            android:layout_marginBottom=”10dp”

            android:button=”@drawable/checkbox”

            />

    </LinearLayout>

然后就用button的属性来替换

截屏2020-02-17上午12.00.17.png

<!–    用其他的图片替换这里的复选框–>

</RelativeLayout>

之后我给下面的家了一个事件:

package com.example.myfirstapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.CheckBox;

import android.widget.CompoundButton;

import android.widget.Toast;

public class CheckboxActivity extends AppCompatActivity {

    private CheckBox hb_c,hb_t,hb_r,hb_l;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_checkbox);

        hb_c = findViewById(R.id.hb_c);

        hb_t = findViewById(R.id.hb_t);

        hb_r = findViewById(R.id.hb_r);

        hb_l = findViewById(R.id.hb_l);

        hb_c.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                Toast.makeText(CheckboxActivity.this,isChecked?您就是蔡徐坤!?:别走啊,客官~,Toast.LENGTH_LONG).show();

            }

        });

//也和之前一样先声明然后用onCheckedChanged里的new一个CompoundButton.OnCheckedChangeListener()

里面的 boolean isChecked就是选中与否:

  Toast.makeText(CheckboxActivity.this,isChecked?您就是蔡徐坤!?:别走啊,客官~,Toast.LENGTH_LONG).show();

这里用一个

isChecked?您就是蔡徐坤!?:别走啊,客官~

判断是可以的。

        hb_t.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                Toast.makeText(CheckboxActivity.this,isChecked?您就是蔡徐坤!?:别走啊,客官~,Toast.LENGTH_LONG).show();

            }

        });

        hb_r.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                Toast.makeText(CheckboxActivity.this,isChecked?您就是蔡徐坤!?:别走啊,客官~,Toast.LENGTH_LONG).show();

            }

        });

        hb_l.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                Toast.makeText(CheckboxActivity.this,isChecked?您就是蔡徐坤!?:别走啊,客官~,Toast.LENGTH_LONG).show();

            }

        });

    }

}

效果:

截屏2020-02-17上午12.03.30.png
截屏2020-02-17上午12.03.40.png
最后修改日期:2020年2月21日

作者

留言

安卓大作业靠你了

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。