TextView之drawableLeft/drawableRight代码实现

    用户对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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值