zoukankan      html  css  js  c++  java
  • 在Button任意位置加图片效果

    通常情况会想到drawableLeft,drawableTop,drawableRight,drawableBotton,这样是可以做,但只能在四个位置。
    下面这种办法可以实现任意位置:
    Java代码 复制代码 收藏代码
    1. import android.app.Activity;   
    2. import android.graphics.drawable.Drawable;   
    3. import android.os.Bundle;   
    4. import android.text.Html;   
    5. import android.text.Spanned;   
    6. import android.text.Html.ImageGetter;   
    7. import android.widget.Button;   
    8.   
    9. public class demobutton extends Activity {   
    10.     /** Called when the activity is first created. */  
    11.     @Override  
    12.     public void onCreate(Bundle savedInstanceState) {   
    13.         super.onCreate(savedInstanceState);   
    14.         setContentView(R.layout.main);   
    15.            
    16.                 ImageGetter imgGetter = new Html.ImageGetter() {   
    17.                         @Override  
    18.                         public Drawable getDrawable(String source) {   
    19.                                 Drawable drawable = null;   
    20.                                 drawable = demobutton.this.getResources().getDrawable(   
    21.                                                 Integer.parseInt(source));   
    22.                                 drawable.setBounds(00, drawable.getIntrinsicWidth(),   
    23.                                                 drawable.getIntrinsicHeight());   
    24.                                 return drawable;   
    25.                         }   
    26.                 };   
    27.                    
    28.                 Button btn = (Button) findViewById(R.id.button1);   
    29.                 StringBuffer sb = new StringBuffer();   
    30.                 sb.append("<img src=\"").append(R.drawable.button1).append("\"/>").append("<font color=\"6f6f6f\">按钮上加图片效果</font>");;   
    31.                 Spanned span = Html.fromHtml(sb.toString(), imgGetter, null);   
    32.                 btn.setText(span);   
    33.                 sb = null;   
    34.     }   
    35. }  




    采用Spanned也不是什么新鲜事了,呵呵。这里只提供一种思路。不止Button,任意可以显示文字的View都可以这样做。
  • 相关阅读:
    无线渗透开启WPS功能的路由器
    写代码怎能不会这些Linux命令?
    分布式服务框架 Zookeeper -- 管理分布式环境中的数据
    每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
    Innodb 中的事务隔离级别和锁的关系
    线上操作与线上问题排查实战
    MySQL 四种事务隔离级的说明
    一次由于 MTU 设置不当导致的网络访问超时
    SYN 和 RTO
    The story of one latency spike
  • 原文地址:https://www.cnblogs.com/xsmhero/p/2550719.html
Copyright © 2011-2022 走看看