1,首先用xml文件编写你想要要·的组合控件的样式(和正常一样写)。
2,创建一个类,让他继承相应的Layout(根据你xml中布局用的根布局,例如LinearLayout),实现两个参数的构造函数,
再在构造方法中获取到你xml文件中的各个分组件,便于后面对其进行属性修改,
private ImageView img;
private TextView tv;
public DefineView(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.define_view,this,true);
img= (ImageView) findViewById(R.id.img);
tv= (TextView) findViewById(R.id.tv);
}
3.编写分组件的修改属性的方法,便于在activity中调用,设置属性
public void setImg(int res){
img.setImageResource(res);
}
public void setText(String text){
tv.setText(text);
}
4,接着在activity对应的xml中 ,添加组件,方法和系统组件一样,组件名是报名加类名:
<com.me.testdemo.DefineView
android:id="@+id/defineview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"