Android中利用LinearLayout继承实现ImageButton

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

直接上源码:

  

view plaincopy to clipboardprint?

  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. }  

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

 

view plaincopy to clipboardprint?

  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.     />   

<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中上图下文字

 

 

 

时间: 2024-08-13 21:58:58

Android中利用LinearLayout继承实现ImageButton的相关文章

Android中利用viewflipper动画切换屏幕效果_Android

整个项目的 package com.example.viewflipper; import android.R.integer; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.GestureDetector.OnDoubleTapListener; import android.view.Menu; import android.view.Me

Android中利用viewflipper动画切换屏幕效果

整个项目的 package com.example.viewflipper; import android.R.integer; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.GestureDetector.OnDoubleTapListener; import android.view.Menu; import android.view.Me

Android中利用ViewHolder优化自定义Adapter的写法(必看)

最近写Adapter写得多了,慢慢就熟悉了. 用ViewHolder,主要是进行一些性能优化,减少一些不必要的重复操作.(WXD同学教我的.) 具体不分析了,直接上一份代码吧: public class MarkerItemAdapter extends BaseAdapter { private Context mContext = null; private List<MarkerItem> mMarkerData = null; public MarkerItemAdapter(Cont

edittext bitmap-我想在Android中利用EditText(TextView)实现在控件的最右边添加一张位图。。

问题描述 我想在Android中利用EditText(TextView)实现在控件的最右边添加一张位图.. 解决方案 外面一个FramLayou框起来就解决了 解决方案二: 最好的是自定控件,通过canvas画上去,或者再简单点就是做个背景图你懂的 解决方案三: 给你的edittext设置一个下面这个属性,试试 android:drawableRight="@drawable/right_icon" 解决方案四: Android控件之TextView和EditTextAndroid系统

有木有大神提供一下android中利用Service后台服务进行手机截屏功能的代码?

问题描述 有木有大神提供一下android中利用Service后台服务进行手机截屏功能的代码? 有木有大神提供一下android中利用Service后台服务进行手机截屏功能的代码,?跪求!是在已经root权限下的

Android中利用NetworkInfo判断网络状态时出现空指针(NullPointerException)问题的解决方法_Android

在Android中,很多人会用如下的方法判断当前网络是否可用: /** * 获取当前网络状态(是否可用) */ public static boolean isNetworkAvailable() { boolean isAalable = false; ConnectivityManager connManager = (ConnectivityManager) BaseApplication.getApplication().getSystemService(Context.CONNECTI

Android中利用动态加载实现手机淘宝的节日特效_Android

相信去年圣诞节打开过手机淘宝的童鞋都会对当时的特效记忆犹新吧:全屏飘雪,旁边还有个小雪人来控制八音盒背景音乐的播放,让人有种身临其境的感觉,甚至忍不住想狠狠购物了呢(误),大概就是下面这个样子滴: 嗯,确实很炫,那么我们一步步去分析是如何实现的: 一.实现下雪的 View 首先,最上面一层的全屏雪花极有可能是一个顶层的View,而这个View是通过动态加载去控制显示的(不更新淘宝也能看到这个效果).那么我们先得实现雪花效果的 View,人生苦短,拿来就用.打开 gank.io,搜索"雪花&quo

Android中利用动态加载实现手机淘宝的节日特效

相信去年圣诞节打开过手机淘宝的童鞋都会对当时的特效记忆犹新吧:全屏飘雪,旁边还有个小雪人来控制八音盒背景音乐的播放,让人有种身临其境的感觉,甚至忍不住想狠狠购物了呢(误),大概就是下面这个样子滴: 嗯,确实很炫,那么我们一步步去分析是如何实现的: 一.实现下雪的 View 首先,最上面一层的全屏雪花极有可能是一个顶层的View,而这个View是通过动态加载去控制显示的(不更新淘宝也能看到这个效果).那么我们先得实现雪花效果的 View,人生苦短,拿来就用.打开 gank.io,搜索"雪花&quo

Android中利用C++处理Bitmap对象的实现方法

相信有些Android&图像算法开发者和我一样,遇到过这样的状况:要对Bitmap对象做一些密集计算(例如逐像素的滤波),但是在java层写循环代码来逐像素操作明显是不现实的,因为Java代码的运行速度太慢,而一副很小的240*320图像就有76800个像素,如果考虑到RGB三通道(或者ARGB四通道),还要对这个数量乘以3/4.因此对图像的密集计算一般都利用Jni接口,用C++实现.那么问题来了,怎么把Bitmap中的像素数据从Java层传到C++层? 做法1:之前的做法 我之前的做法是这样的