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