原理:通过继承Linearlayout,摆放自己所需的imageview和textview,形成ImageButton
直接上源码:
- import android.widget.TextView;
- public class ImageButton1 extends LinearLayout
- {
- private ImageView mImage;
- private TextView mText;
- public ImageButton1(Context context, AttributeSet attrs)
- {
- super(context,attrs);
- mImage = new ImageView(context,attrs);
- mImage.setPadding(0,0,0,0);
- mText = new TextView(context,attrs);
- //mText.setGravity(android.view.Gravity.CENTER_HORIZONTAL);
- // mText.setGravity(android.view.Gravity.CENTER_VERTICAL);
- mText.setPadding(0,0,0,0);
- setClickable(true);
- setFocusable(true);
- setBackgroundResource(android.R.drawable.btn_default);
- setOrientation(LinearLayout.VERTICAL);
- addView(mImage);
- addView(mText);
- }
- }
调用自己编写的ImageButton1
- <com.test.b.ImageButton1
- android:id="@+id/imbtn01"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/icon"
- android:text="MOAR"
- android:textColor="#ff000000"
- />
注意调用ImageButton1时,要用全名:com.test.b.ImageButton1
效果:button中上图下文字