您的位置:首页 > 编程语言

TextView之drawableLeft/drawableRight代码实现

2015-04-01 17:19 447 查看
用户对Android应用的体验要求是越来越高,对apk的界面要求也是与日俱增。不仅要实现功能 ,还要实现图文并茂的效果。有时候我们要在某一段文字的或上或下或左或右添加一张图片,来表达某种效果,比如在倒计时的时间前面放个时钟图片,显示更生动吧。今天我们就来实现这样的简单效果。

方法1:就是在显示文字对应的TextView要显示图片方位上放一个ImageVeiw,这样做是不是很简单呢?其它更简单的是方法2;

方法2:就是用到TextView自带属性drawableLeft/drawableRight/drawableTop/drawableBottom属性,这样更简单。

----------------------------------xml举例-------------------------------------------------------------

<TextView

android:id="@+id/count_down_time_tv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="要开始计时了"

android:drawableLeft="@drawable/my_test_time"<!--这指把图片放到文字左边-->

android:drawablePadding="5dp"<!--文字与图片的间距-->

android:textColor="#ea78ab"

android:textSize="13sp" />

这样把TextView展示出来效果就是左边图片加文字效果。其它几个方向是一样的。不过有时候我们要在代码中灵活控件是否要显示图片呢?比如时间倒计时结束,图片就消息,文字也跟着改变怎么办?那就在代码中来动态改变图片吧

--------------------------------在代码中动态改变drawable----------------------------------------------------------------------

private TextView nick_tv

Drawable drawable = getResources().getDrawable(R.drawable.my_nike_name_arow);

/**这一步必须要做,否则不会显示.*/

drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());//对图片进行压缩

/**设置图片位置,四个参数分别方位是左上右下,都设置为null就表示不显示图片*/

nick_tv.setCompoundDrawables(null, null, drawable, null);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: