android中在Button任意位置加图片效果

http://gundumw100.iteye.com/blog/1205578

通常情况会想到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都可以这样做。

时间: 2024-09-28 12:34:51

android中在Button任意位置加图片效果的相关文章

Android中使用TextView实现文字环绕图片效果实例

在平时我们做项目中,或许有要对一张图片或者某一个东西进行文字和图片说明,这时候要求排版美观,所以会出现文字和图片混排的情况,如图: 这种情况就是上下两个文字说明是连续在一起的,这就要求我们计算上面的文字说明怎么和下面的文字说明连贯结合在一起呢,这就要求我们进行计算了,下面给出代码,代码中也有详细的注释,原理也很简单. 因为算是比较简单,直接就在activity中去计算了: package com.example.test; import android.app.Activity; import

imageview-Android 关于类似onenote的可以在文字任意位置插入图片音频的实现思路

问题描述 Android 关于类似onenote的可以在文字任意位置插入图片音频的实现思路 是插入一个imageView?和自定义button? 还是imageSpan? 应该是view? 如果是view是如何做到在光标处插入的? 我用layout.addView(view child,int index),如果当前布局的所有view都是动态插入的,那这个index该怎么填?

Android中使用GridView实现仿微信图片上传功能(附源代码)

由于工作要求最近在使用GridView完成图片的批量上传功能,我的例子当中包含仿微信图片上传.拍照.本地选择.相片裁剪等功能,如果有需要的朋友可以看一下,希望我的实际经验能对您有所帮助. 直接上图,下面的图片就是点击"加号"后弹出的对话框,通过对话框可以根据自己需求进行相片选择. 项目结构: 下面直接上代码. 整体的布局文件activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/

android中radio button居中对齐的问题

问题描述 android中radio button居中对齐的问题 我使用以下代码动态的生成了 RadioButtons: RadioButton radioButton=new RadioButton(context); LayoutParams layoutParams=new LayoutParams(radioWidthradioHeight);layoutParams.gravity=Gravity.CENTER;radioButton.setLayoutParams(layoutPar

Android中使用七牛云存储进行图片上传下载的实例代码

Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了. 可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端

android中PullToRefreshListView上下拉刷新加载怎么做?

问题描述 android中PullToRefreshListView上下拉刷新加载怎么做? 唉..,我是新手 ,不知道用这个东西,好像要关联个工程,才能用,求大神详细介绍答案,谢谢了! 解决方案 http://blog.csdn.net/losetowin/article/details/18261389 你看看 解决方案二: 引用下它提供的库就可以了

Android中ViewFlipper的使用及设置动画效果实例详解_Android

本文实例讲述了Android中ViewFlipper的使用及设置动画效果.分享给大家供大家参考,具体如下: 说到左右滑动,其实实现左右滑动的方式很多,有ViewPaer,自定义实现Viewgroup,gallery等都可以达到这种效果.这里做下ViewFliper实现左右滑动的效果. 会用到以下的技术: 1.ViewFlipper 2.GestureDetector 3.Animation 主要是这三个类在起作用. ViewFlipper,不妨把它看做一个容器吧,你可以把许多的View放在这个容

Android仿微信发朋友圈浏览图片效果_Android

先看一下效果吧: 下面就来说一下具体怎么实现的: 实现思路 1.首先我们要获取数据源,数据源就是我们的每条说说(包括姓名.标题.图片数组) 2.自定义适配器(ListView嵌套着GridView) 3.图片点击浏览图片(Fragment+ViewPager) 具体实现 1.初始化数据源,设置适配器,看一下代码: public class MyActivity extends Activity { /*图片显示列表*/ private ListView listView; /*图片URL数组*/

Android中ViewFlipper的使用及设置动画效果实例详解

本文实例讲述了Android中ViewFlipper的使用及设置动画效果.分享给大家供大家参考,具体如下: 说到左右滑动,其实实现左右滑动的方式很多,有ViewPaer,自定义实现Viewgroup,gallery等都可以达到这种效果.这里做下ViewFliper实现左右滑动的效果. 会用到以下的技术: 1.ViewFlipper 2.GestureDetector 3.Animation 主要是这三个类在起作用. ViewFlipper,不妨把它看做一个容器吧,你可以把许多的View放在这个容