我有一些按钮,而不是使用ListView,所以我想添加一个复选框到每个按钮,但我不知道如何。如你所知,CheckBox本身就是一个按钮。是否可以使用按钮内的复选框?
在这一点上我很困惑:我对如何使它
这里是什么,我想这是一个例子不知道这样的:
如果你能帮助我,我真的很感激它。
我有一些按钮,而不是使用ListView,所以我想添加一个复选框到每个按钮,但我不知道如何。如你所知,CheckBox本身就是一个按钮。是否可以使用按钮内的复选框?
在这一点上我很困惑:我对如何使它
这里是什么,我想这是一个例子不知道这样的:
如果你能帮助我,我真的很感激它。
我会用一个带有TextView和一个空CheckBox的LinearLayout。由于您使用的是ListView,因此应该将OnItemClickListener添加到适配器以处理每个视图中的点击,因此不需要使用按钮。
如果您确实需要/想要使用按钮,请使用FrameLayout代替列表中的每个项目,以便复选框可位于按钮上方。喜欢的东西(未测试):
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|right"
android:layout_marginRight="10dp"/>
这将添加一个ViewGroup和另一个View。这对演出不太好。 –
我只会给你一些一般原则在这里,因为这个问题是广泛的。
如您所知,CheckBox
本身继承自Button
。这意味着您只需使复选框“看起来”像一个按钮即可满足要求。和所有你需要做的是延长CheckBox
类
public class CheckBoxButton extends CheckBox {
}
当然,你需要实现的构造和材料。最重要的是你需要覆盖onDraw
。在那里,你可以在它周围画一个边框。也许画一个阴影让它变成3D。你可以做所有事情,让它看起来像一个按钮。在这里自定义绘制
的更多信息:http://developer.android.com/training/custom-views/custom-drawing.html
或者,你可以找到一个库来做到这一点。 Android Arsenal是找到一个好地方。
为什么不用布局来代替。 –
不,因为Button是一个View,而不是ViewGroup(一个容器)。另一方面,CheckBox已经是一个Button。您可以自定义其方面,使其看起来像一个按钮。对于你的[参考](http://developer.android.com/intl/es/reference/android/widget/CheckBox.html) –
ViewGroup extends View,所以你不会有任何问题。 –