简单的自定义组合控件 自定义属性
2017-01-10 21:17
309 查看
制作一个textview和checkbox的自定义组合控件,点击文字区域也可以对checkbox进行操作,如图所示。
首先是条目布局,这个布局最终将作为一个整体来引用
1
首先是条目布局,这个布局最终将作为一个整体来引用
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/tv_combine" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:gravity="center" android:text="默认文本"/> <CheckBox android:focusable="false" android:id="@+id/cb_combine" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
new一个类,继承framelayout,实现三个构造方法,在每个构造方法中都进行初始化,关联刚刚创建好的布局,找到布局中的子控件,同时对外提供设置文字和是否选中的方法。对整个布局设置点击事件,使得任意位置都可以对checkbox进行设置。
public class CombineView extends FrameLayout implements View.OnClickListener { public CheckBox cb_combine; public TextView tv_combine; public String text; public boolean isCheched; public CombineView(Context context) { super(context); init(); } public CombineView(Context context, AttributeSet attrs) { super(context, attrs); //获取自定义属性 init(); } public CombineView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { //在初始化中将布局加载进来 View view = View.inflate(getContext(), R.layout.combineview, null); addView(view); cb_combine = (CheckBox) view.findViewById(R.id.cb_combine); tv_combine = (TextView) view.findViewById(R.id.tv_combine); this.setOnClickListener(this); } @Override public void onClick(View v) { cb_combine.setChecked(!cb_combine.isChecked()); } public boolean isChecked(){ return cb_combine.isChecked(); } public void setText(String text){ tv_combine.setText(text); } }
此时,该控件还不能再xml文件中设置文字,是否选中,此时就需要我们为其添加自定义属性
自定义属性的步骤1
相关文章推荐
- 自定义组合控件属性,自定义对话框,md5加密,自定义按钮背景,
- android项目自定义组合控件添加属性
- 自定义组合控件实现 购物车加减的简单实现
- Android自定义组合控件---简单导航栏
- 自定义组合控件和属性
- 自定义 组合控件 与 定义属性
- Android自定义xml属性,自定义(组合)控件
- Android wiki:06.自定义组合控件属性的步骤
- 简单的自定义组合控件
- 自定义组合控件及自定义属性
- Android自定义组合控件之自定义属性
- 自定义组合控件动态,静态设置属性的步骤
- Android自定义控件---组合控件(包括自定义属性)
- 自定义控件:自定义组合控件+自定义属性
- Android组合控件详解 & 自定义属性
- 富文本(TYAttributedLabel 简单,强大的属性文本控件(无需了解CoreText),支持图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示)
- Android 自定义组合控件,属性
- Android项目:手机安全卫士(4)—— 自定义(组合)控件、属性
- Android学习摘记——简单的自定义View(组合控件)
- Android自定义组合控件---简单导航栏