复选框部分可见

CheckBox partly visible

我在我的布局中使用 CheckBox,其中一部分是 visible.I,包括屏幕截图。

下面是布局和 java 代码。

xml:

<android.support.v7.widget.AppCompatCheckBox

                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:text="Check box"
                    android:id="@+id/checkbox"
                    android:theme="@style/MyCheckBox"
                    android:layout_marginRight="40dp"
                    android:layout_marginTop="20dp"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentEnd="true" />

java:

checkbox=(AppCompatCheckBox) findViewById(R.id.checkbox);
        checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

               if(isChecked){
                   relativeLayout.setVisibility(View.VISIBLE);
               }
                else {
                   relativeLayout.setVisibility(View.INVISIBLE);
               }
            }
        });

截图:

您的 android:layout_widthandroid:layout_height 太小了, 将它们更改为 "wrap_content":

<android.support.v7.widget.AppCompatCheckBox
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="Check box"
     android:id="@+id/checkbox"
     android:theme="@style/MyCheckBox"
     android:layout_marginRight="40dp"
     android:layout_marginTop="20dp"
     android:layout_alignParentRight="true"
     android:layout_alignParentEnd="true" />

请记住,当您 运行 申请时,OnCheckedChangeListener 会被调用一次。 然后,尝试设置不同的大小。也许 20dp 太小了。