Fal*_*rri 176 checkbox android
是否有一种简单的方法可以将自定义图像用于复选框?我想复制gmail的"已加星标"行为.所以我希望有一个复选框,当选中时,它是一个填充星号.当未经检查的是一颗空星.我是否必须使用imageview并自己做我自己的逻辑?
小智 274
创建一个drawable复选框选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/checkbox"
android:state_checked="false"/>
<item android:drawable="@drawable/checkboxselected"
android:state_checked="true"/>
<item android:drawable="@drawable/checkbox"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
确保您的复选框是这样的 android:button="@drawable/checkbox_selector"
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@drawable/checkbox_selector"
android:text="CheckBox"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/Black" />
Run Code Online (Sandbox Code Playgroud)
Jea*_*ean 128
复选框是巴顿的孩子描述你可以只与几个国家给你的复选框的背景图像这里,下"按钮式":
...并举例在这里:
WOU*_*nes 44
将btn_check.xml从android-sdk/platforms/android - #/ data/res/drawable复制到项目的drawable文件夹,并将"on"和"off"图像状态更改为自定义图像.
然后你的xml将需要 android:button="@drawable/btn_check"
<CheckBox
android:button="@drawable/btn_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true" />
Run Code Online (Sandbox Code Playgroud)
如果你想使用不同的默认android图标,你可以使用 android:button="@android:drawable/..."
小智 9
RES /抽拉/ day_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/dayselectionunselected"
android:state_checked="false"/>
<item android:drawable="@drawable/daysselectionselected"
android:state_checked="true"/>
<item android:drawable="@drawable/dayselectionunselected"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
RES /布局/ my_layout.xml
<CheckBox
android:id="@+id/check"
android:layout_width="39dp"
android:layout_height="39dp"
android:background="@drawable/day_selector"
android:button="@null"
android:gravity="center"
android:text="S"
android:textColor="@color/black"
android:textSize="12sp" />
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您有Android开源代码,可以在以下位置找到样式定义:
src/frameworks/base/core/res/res/values
<style name="Widget.CompoundButton.CheckBox">
<item name="android:background">
@android:drawable/btn_check_label_background
</item>
<item name="android:button">
?android:attr/listChoiceIndicatorMultiple
</item>
</style>
Run Code Online (Sandbox Code Playgroud)
基于 Enselic 和 Rahul 的回答。
它对我有用(API 21 之前和之后):
<CheckBox
android:id="@+id/checkbox"
android:layout_width="40dp"
android:layout_height="40dp"
android:text=""
android:gravity="center"
android:background="@drawable/checkbox_selector"
android:button="@null"
app:buttonCompat="@null" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
203371 次 |
| 最近记录: |