通常情況會想到drawableLeft,drawableTop,drawableRight,drawableBotton,這樣是可以做,但只能在四個位置。
下面這種辦法可以實現任意位置:
采用Spanned也不是什么新鮮事了,呵呵。這里只提供一種思路。不止Button,任意可以顯示文字的View都可以這樣做。
下面這種辦法可以實現任意位置:
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都可以這樣做。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

