//1.首先在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">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:id="@+id/image1"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edit"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:id="@+id/image2"/>
</LinearLayout>
2.在attrs布局中定义自定义属性
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ImageT">
<attr name="add" format="reference"/>
<attr name="jian" format="reference"/>
</declare-styleable>
</resources>
//3.然后自定义一个View根据需求继承不同的ViewGroup子类,
//比如:RelativeLayout、LinearLayout等,我们这里继承LinearLayout
public class ImageText
extends LinearLayout {
private ImageView
image1;
private EditText
edit;
private ImageView
image2;
private int count =
0;
public ImageText(Context context) {
super(context);
initView(context,
null);
}
public ImageText(Context context, AttributeSet attrs) {
super(context, attrs);
initView(context, attrs);
}
private void initView(Context context, AttributeSet attrs) {
LayoutInflater.
from(context).inflate(R.layout.
item,
this,
true);
image1 = (ImageView) findViewById(R.id.
image1);
image2 = (ImageView) findViewById(R.id.
image2);
edit = (EditText) findViewById(R.id.
edit);
TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.
ImageT);
//设置图片
int add = array.
getResourceId(R.styleable.
ImageT_add, R.mipmap.
account_icon_mobile);
image1.
setImageResource(add);
int jian = array.getResourceId(R.styleable.
ImageT_jian, R.mipmap.
account_icon_qzone);
image2.setImageResource(jian);
//设置文字颜色
//int color=array.
getColor(R.styleable.ImageT_color,Color.WHITE); //textcolo=
setTextColor(color);
edit.setText(String.
valueOf(
count));
image1.setOnClickListener(
new OnClickListener() {
@Override public void onClick(View v) {
count++;
edit.setText(String.
valueOf(
count)); } });
image2.setOnClickListener(
new OnClickListener() {
@Override public void onClick(View v) {
count--;
if(
count<
0){
count=
0; }
edit.setText(String.
valueOf(
count)); } }); }}
//
4.最后在xml文件中引用 <
com.example.andy.view.ImageText
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>