您的位置:首页 > 移动开发 > Android开发

android 中自定义组件

2013-04-10 13:09 141 查看
1、在开发中我们难免会遇到一些android 自带的组件无法实现的功能,这时候就需要我们重新去定义这些组件,实例实现了一个复合组件(ImageView 与 TextView )的组合,下面就是截图



public class ImageAddText extends LinearLayout implements View.OnClickListener {
private ImageView img = null;
private TextView name = null;
public ImageAddText(Context context) {
this(context, null);
}
public ImageAddText(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
vi.inflate(R.layout.custom_image_textview_activity, this, true);
this.img = (ImageView) this.findViewById(R.id.img);
this.name = (TextView) this.findViewById(R.id.name);
this.img.setOnClickListener(this);
}
public void setText(String str, int id) {
this.img.setBackgroundResource(id);
this.name.setText(str);
}
@Override
public void onClick(View v) {
new AlertDialog.Builder(MainApplication.getMainActivity()).setMessage("测试").create().show();
}
}


custom_image_textview_activity.xml

<?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="match_parent"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>


2、这样定义好了之后,我们就可以在程序中直接引用了,跟用普通组件没什么区别
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: