`

在Button任意位置加图片效果

阅读更多
通常情况会想到drawableLeft,drawableTop,drawableRight,drawableBotton,这样是可以做,但只能在四个位置。
下面这种办法可以实现任意位置:
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.Html;
import android.text.Spanned;
import android.text.Html.ImageGetter;
import android.widget.Button;

public class demobutton extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
                ImageGetter imgGetter = new Html.ImageGetter() {
                        @Override
                        public Drawable getDrawable(String source) {
                                Drawable drawable = null;
                                drawable = demobutton.this.getResources().getDrawable(
                                                Integer.parseInt(source));
                                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
                                                drawable.getIntrinsicHeight());
                                return drawable;
                        }
                };
                
                Button btn = (Button) findViewById(R.id.button1);
                StringBuffer sb = new StringBuffer();
                sb.append("<img src=\"").append(R.drawable.button1).append("\"/>").append("<font color=\"6f6f6f\">按钮上加图片效果</font>");;
                Spanned span = Html.fromHtml(sb.toString(), imgGetter, null);
                btn.setText(span);
                sb = null;
    }
}




采用Spanned也不是什么新鲜事了,呵呵。这里只提供一种思路。不止Button,任意可以显示文字的View都可以这样做。
  • 大小: 15.7 KB
分享到:
评论
6 楼 木本水源 2015-06-14  
楼主牛叉。
5 楼 hongbingfans 2013-10-16  
鄙视3楼的,楼主都说了用android自带的方位图只能设置上下左右四个位置,你还说

“不过在xml中有个属性是android:drawableLeft用这个属性导入图片,效果更好.简单,google已经封装好的.”     
4 楼 hongbingfans 2013-10-16  
文字如何和图片垂直居中,文字和图片的间距如何设置?这都是问题?,你的方法值可以设置图片和字体颜色!!!
3 楼 kooqianfeng 2011-10-28  
不过在xml中有个属性是android:drawableLeft用这个属性导入图片,效果更好.简单,google已经封装好的.
2 楼 kooqianfeng 2011-10-28  
好啊,楼主牛逼!可是怎么让文字居中的,没明白!!!我在xml一顿狂设,还不是不行!悲催!
1 楼 ldci3gandroid 2011-10-22  
谢谢短裤党的精彩博文 !!!

相关推荐

    根据图片实现不规则Button

    在Windows编程中,我们经常需要定制控件以满足特定的界面设计需求,"根据图片实现不规则Button"就是一个典型的例子。这个技术可以帮助开发者创建出与传统矩形形状不同的按钮,以提升用户界面的视觉效果和交互体验。...

    自绘Button 修改Button背景

    在Windows编程中,自定义控件的绘制是一个高级主题,它可以让我们实现更加独特和个性化的用户界面。...通过理解并实践上述步骤,开发者可以创造出与标准Button截然不同的视觉效果,让应用在众多软件中脱颖而出。

    自定义UIButton 可任意调整图片对齐类型 和显示位置

    本教程将深入讲解如何自定义UIButton,调整图片对齐方式,控制显示位置,设置图片大小,添加泡泡效果以及处理按钮的点击状态变更。 首先,让我们讨论如何实现自定义UIButton的图片对齐方式。默认情况下,UIButton的...

    vc_static_button.rar_RFW_VC static Button_VC++ static Button

    本资源"vc_static_button.rar_RFW_VC static Button_VC++ static Button"提供了两个关键的自定义控件实现:一个用于创建具有背景透明效果的标签(ColorStatic),另一个是能展示自定义图片并切换显示的按钮...

    Unity UGUI 效果 之 多页翻页,多页任意翻页的简单效果实现(示例演示为动态加载多图片实现翻页预览效果)

    Unity UGUI 效果 之 多页翻页,多页任意翻页的简单效果实现(示例演示为动态加载多图片实现翻页预览效果) 实现原理 1、通过展示的总的动态图片个书,每页每页展示图片的数量,分为若干页 2、Button实现前后翻页,...

    PPT中要实现图片或图形的任意拖拽

    通过以上步骤,你可以在PPT中实现图片或图形的任意拖拽效果,增强课件或游戏的互动性。这个功能特别适用于教育、演示和娱乐场景,使观众能够更直观地理解和参与。不过,对于不熟悉VBA编程的用户来说,这可能需要一定...

    【示例】在WPF简单实现图片圆角、只显示部分、渐变

    在本示例中,可能就包含了这样的模块化设计,将这些效果封装在一个自定义控件内,通过属性来控制圆角大小、渐变方式等,使得在其他地方调用时只需传入图片源和相关参数即可。 文件列表中的`WpfApp48.sln`是一个...

    vb实现图片任意角度旋转

    在VB(Visual Basic)编程环境中,我们可以利用GDI+(Graphics Device Interface Plus)库来实现图片的任意角度旋转。GDI+是Windows操作系统提供的一种图形处理接口,它提供了丰富的绘图功能,包括图像的绘制、旋转...

    ListView中点击对应item的Button时改变其文字和图片

    在实际应用中,你还可以根据需求扩展这个功能,比如添加动画效果、使用自定义颜色或者在点击事件中触发其他业务逻辑。此外,如果项目中使用了RecyclerView替代ListView,实现方式大同小异,主要区别在于Adapter的...

    html5 简单图片旋转效果

    在本例中,我们将关注HTML5中的图像旋转功能,这是一个利用HTML、CSS以及JavaScript实现的简单图片旋转效果。 首先,HTML5中的`&lt;canvas&gt;`元素是实现这一效果的关键。`&lt;canvas&gt;`元素允许我们在网页上进行动态图形...

    button动画

    具体到Button动画,如果涉及到复杂的计算或者网络请求,比如加载动画图片资源,应当在子线程中进行,加载完成后通过post或者runOnUiThread方法回到主线程设置动画。以下是一个简单的例子: ```java new Thread(new ...

    Java实现图片翻转以及任意角度旋转

    在本文中,我们将详细介绍如何使用Java实现图片翻转以及任意角度旋转。 一、图片翻转 图片翻转是指将图片沿水平或垂直方向翻转。使用Java中的Graphics2D类,可以通过AffineTransform类来实现图片的翻转。...

    ios-灵活的button.zip

    在“ios-灵活的button.zip”这个压缩包中,我们可以推测其主要内容是关于如何创建和定制具有更高灵活性的UIButton,使得文本和图片的位置可以任意摆放,同时还能调整它们之间的间距。 在iOS开发中,我们通常使用...

    Android 图片阴影效果和影子效果.zip

    在Android应用开发中,图片阴影和影子效果的实现是一个重要的视觉设计元素,可以增加界面的立体感和深度。这个项目源码提供了关于如何在Android中添加这些效果的实例。以下是一些关键知识点: 1. **LayerDrawable**...

    vue实现图片打马赛克

    最后,将`ImageMasic`组件引入到你的Vue项目中,通过修改`imageUrl`数据属性来更换不同的图片,即可实现支持任意图片打马赛克的功能。由于Vue的响应式系统,用户可以实时看到打码和清除的效果,实现了“一键打码”和...

    button_class.rar_SchemaDef_位图按钮_按钮_滑动_滑动按钮

    位图按钮(Bitmap Button)是一种可以显示图片的按钮,通常用于增强用户界面的视觉效果。开发者可以将任何图像设置为按钮的背景,这使得按钮看起来更具有吸引力,也可以根据不同的状态(如鼠标悬停、按下等)显示...

    Android-CheerBanner不止是图片这是一款支持任意控件轮播的Banner控件支持触摸暂停任意定义高度。

    传统的Banner控件往往限制于显示图片,而CheerBanner打破了这种限制,开发者可以自由地在轮播中添加TextView、ImageView、Button等任意类型的Android控件,这使得Banner在功能和展示效果上具有更高的定制性。...

    android图片按钮屏幕移动

    在Android开发中,实现按钮图片在屏幕上任意移动的位置是一个常见的需求,这涉及到对用户界面(UI)的动态操控以及事件监听。以下是一些关键的知识点: 1. **Android Layouts**:首先,按钮图片通常会被包含在一个...

    android 带文字的图片按钮的实现

    这样,我们可以在任意位置放置文字,而不受背景图片限制。 总结: 创建带有文字的图片按钮在Android开发中是常见的需求。通过相对布局结合Button和TextView,我们可以快速实现基本功能。而自定义控件则提供了更高...

    图形界面上的任意形状图形按钮

    这篇教程将探讨如何在图形界面上实现“任意形状图形按钮”的功能,特别是在存在背景图片的环境中。我们将深入研究这个主题,涉及的技术包括图形绘制、事件处理以及自定义控件的创建。 首先,"DemoButton.aps"和...

Global site tag (gtag.js) - Google Analytics