Android中利用LinearLayout继承实现ImageButton

简介:
 

原理:通过继承Linearlayout,摆放自己所需的imageview和textview,形成ImageButton

直接上源码:

  

  1. import android.widget.TextView;  
  2.    
  3. public class ImageButton1 extends LinearLayout  
  4. {  
  5.   private ImageView mImage;  
  6.   private TextView mText;  
  7.    
  8.   public ImageButton1(Context context, AttributeSet attrs)  
  9.   {  
  10.     super(context,attrs);  
  11.    
  12.     mImage = new ImageView(context,attrs);  
  13.     mImage.setPadding(0,0,0,0);  
  14.     mText = new TextView(context,attrs);  
  15.     //mText.setGravity(android.view.Gravity.CENTER_HORIZONTAL);   
  16.   //  mText.setGravity(android.view.Gravity.CENTER_VERTICAL);   
  17.     mText.setPadding(0,0,0,0);  
  18.      
  19.       
  20.     setClickable(true);  
  21.     setFocusable(true);  
  22.     setBackgroundResource(android.R.drawable.btn_default);  
  23.     setOrientation(LinearLayout.VERTICAL);  
  24.     addView(mImage);  
  25.     addView(mText);  
  26.   }  
  27. }  

 

调用自己编写的ImageButton1

 

  1. <com.test.b.ImageButton1     
  2.     android:id="@+id/imbtn01"  
  3.     android:layout_width="wrap_content"      
  4.     android:layout_height="wrap_content"      
  5.     android:src="@drawable/icon"    
  6.     android:text="MOAR"    
  7.     android:textColor="#ff000000"    
  8.     />   

注意调用ImageButton1时,要用全名:com.test.b.ImageButton1 

 

 

效果:button中上图下文字

 

 

ImageButton

 

相关文章
|
5月前
|
XML Android开发 数据格式
android点击FrameLayout、LinearLayout等父布局没响应的原因以及解决方案
android点击FrameLayout、LinearLayout等父布局没响应的原因以及解决方案
158 2
|
Android开发
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
|
5月前
|
数据可视化 Android开发 容器
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
201 5
|
4月前
|
XML Java Android开发
15. 【Android教程】按钮 Button/ImageButton
15. 【Android教程】按钮 Button/ImageButton
60 2
|
4月前
|
Android开发 UED 开发者
Android 中的 LinearLayout 布局
Android 中的 LinearLayout 布局
|
5月前
|
XML Android开发 数据格式
Android五大布局对象---FrameLayout,LinearLayout ,Absolute
Android五大布局对象---FrameLayout,LinearLayout ,Absolute
31 1
|
4月前
|
Android开发
07. 【Android教程】Android 线性布局 LinearLayout
07. 【Android教程】Android 线性布局 LinearLayout
130 0
|
5月前
|
达摩院 安全 Java
80 PM撸代码之Android【武侠讲封装、继承、多态】
80 PM撸代码之Android【武侠讲封装、继承、多态】
44 0
|
5月前
|
Android开发 容器
Android开发,学习LinearLayout布局
Android开发,学习LinearLayout布局
70 0
|
XML Android开发 数据格式
Android XML 布局基础(五)线性布局 - LinearLayout
Android XML 布局基础(五)线性布局 - LinearLayout
127 0