您的位置:首页 > 其它

binbinyang---自定义ImagView---实现任意图片.上面添加文字

2015-10-27 11:27 411 查看
自定义ImagView---实现任意图片.上面添加文字

开发中. 会遇到各种自定义的控件,今天上午开发中遇到一个,发现遇到很多次了.所以这次就干脆记录下来.供大家一起学习成长



圆框里的 就是要自定义的控件

直接贴代码吧

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical" >

<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingBottom="5dip"
android:paddingTop="5dip"
android:src="@drawable/left_index_bg" />

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/img"
android:layout_marginTop="26dp"
android:gravity="center"
android:text="+8" />

</RelativeLayout>
这是XML布局的代码文件

public class MyImgBtn extends RelativeLayout {

private ImageView mImgView = null;
private TextView mTextView = null;
private Context mContext;

public MyImgBtn(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
LayoutInflater.from(context).inflate(R.layout.demo, this, true);
mContext = context;
mImgView = (ImageView)findViewById(R.id.img);
mTextView = (TextView)findViewById(R.id.text);

}

/*设置图片接口*/
public void setImageResource(int resId){
mImgView.setImageResource(resId);
}

/*设置文字接口*/
public void setText(String str){
mTextView.setText(str);
}
/*设置文字大小*/
public void setTextSize(float size){
mTextView.setTextSize(size);
}

//     /*设置触摸接口*/
//    public void setOnTouch(OnTouchListener listen){
//        mImgView.setOnTouchListener(listen);
//        //mTextView.setOnTouchListener(listen);
//    }

}


这是继承布局的JAVA代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical" >

<com.example.fragmentdemo.MyImgBtn
android:id="@+id/MyIBtn_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:clickable="true"
android:focusable="true" />

</LinearLayout>


这是主activity的布局代码

public class MainActivity extends Activity {

private MyImgBtn MyIBtn1 = null;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

MyIBtn1 = (MyImgBtn) findViewById(R.id.MyIBtn_1);
//MyIBtn1.setImageResource(R.drawable.left_index_bg);
//		MyIBtn1.setText("+8");
//		MyIBtn1.setTextSize(12.0f);
// MyIBtn1.setOnTouch(new MyOnTouchListener());
MyIBtn1.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "您好", Toast.LENGTH_SHORT)
.show();

}
});
}

}


这是主代码..注释部分 可以根据你个人喜好来,添加对应的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: