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);

你可能感兴趣的:(Android开发,textview,体验)