展会信息港展会大全

EditText 在左边加入图片
来源:互联网   发布日期:2016-01-06 19:15:22   浏览:7449次  

导读:代码如下: Bitmap bitmap = mWebView.getFavicon(); Drawable drawable = new BitmapDrawable(bitmap); // edit.setCompoundDrawables(drawable, null, null, null); drawable = this.getResources().getDrawable(R.drawable.history); edit.setCompoundDra...

代码如下:

Bitmap bitmap = mWebView.getFavicon();

Drawable drawable = new BitmapDrawable(bitmap);

// edit.setCompoundDrawables(drawable, null, null, null);

drawable = this.getResources().getDrawable(R.drawable.history);

edit.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null);

edit.setText(cur_url);

// edit.setMaxLines(1);

setCompoundDrawablesWithIntrinsicBounds与setCompoundDrawables的区别:

setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,所以才有The Drawables must already have had setBounds(Rect) called.

而setCompoundDrawablesWithIntrinsicBounds是画的drawable的宽高是按drawable固定的宽高,即通过getIntrinsicWidth()与getIntrinsicHeight()获得,所以才有The Drawables' bounds will be set to their intrinsic bounds.

看下面方法:

public void setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top,

Drawable right, Drawable bottom) {

if (left != null) {

left.setBounds(0, 0, left.getIntrinsicWidth(), left.getIntrinsicHeight());

}

if (right != null) {

right.setBounds(0, 0, right.getIntrinsicWidth(), right.getIntrinsicHeight());

}

if (top != null) {

top.setBounds(0, 0, top.getIntrinsicWidth(), top.getIntrinsicHeight());

}

if (bottom != null) {

bottom.setBounds(0, 0, bottom.getIntrinsicWidth(), bottom.getIntrinsicHeight());

}

setCompoundDrawables(left, top, right, bottom);

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港