我正在努力让Google应用照片选择用户界面。我正在使用Appcompat复选框来实现这一目标而不是成功。我正在做的步骤, 1.将复选框背景设置为自定义圆形 2.在xml中定义自定义形状
这是我的复选框xml看起来像,
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:button="@drawable/custom_checkbox"
android:background="@drawable/checkbox_drawable"
/>
我的自定义复选框背景
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#78d9ff"/>
<solid
android:color="#79bfea"/>
</shape>
我的复选框按钮,
<selector>
<item android:drawable="@drawable/checkbox_drawable"
android:state_checked="false"/>
<item android:drawable="@drawable/selected_check"
android:state_checked="true"/>
</selector>
我甚至从android:background更改为android:按钮..没有给我圆形复选框..任何帮助表示赞赏?我应该使用浮动动作栏吗?还是一个观点?有什么建议吗?
答案 0 :(得分:2)
自定义复选框,带有两个可绘制图像。
1。在 .xml 文件
中<android.support.v7.widget.AppCompatCheckBox
android:id="@+id/checkBox"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:background="@drawable/checkbox_selector"
android:button="@color/white"
android:checked="true" />
2。在 drawable 文件夹中创建 checkbox_selector.xml 。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/cancel"
android:state_checked="false"/>
<item android:drawable="@drawable/checked"
android:state_checked="true"/>
</selector>
3. 从以下链接 drawable 文件夹中添加 checked.png 和 cansel.phd 图片< / p>
https://icons8.com/icon/set/yes/all
和
https://icons8.com/icon/set/cross/all
4. :复选框点击事件
AppCompatCheckBox checkBox = (AppCompatCheckBox) view.findViewById(R.id.checkBox);
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (checkBox.isChecked()){
checkBox.setChecked(false);
}else {
checkBox.setChecked(true);
}
}
});
答案 1 :(得分:0)
当你想将它用作按钮属性时,你需要为你的drawable赋予大小。
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<stroke
android:width="1dp"
android:color="#78d9ff"/>
<solid android:color="#79bfea"/>
<size
android:width="20dp"
android:height="20dp"/>
</shape>
使用android:button
适用于CheckBox。
此外,由于这是一个复选框,因此您应该使用选择器来检查和取消选中状态。
选择器的一个例子是
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/normal"
android:state_checked="false"/>
<item android:drawable="@drawable/checked"
android:state_checked="true"/>
<item android:drawable="@drawable/normal"/>
</selector>
答案 2 :(得分:0)
你现在可能不会看,但是我的代码似乎带有复选框的圆形图像,请看看我在另一个帖子上给出的答案。
答案 3 :(得分:0)
在链接中的问题上检查我的答案,这样您就可以创建和自定义复选框,而无需进行编码