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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值