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);
方法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);
相关文章推荐
- TextView 代码设置drawableLeft、drawableRight、drawableTop、drawableBottom
- Android TextView drawableLeft 在代码中实现
- Android使用代码为textview设置drawableLeft或drawableRight
- Android TextView drawableLeft 在代码中实现
- Android TextView drawableLeft 在代码中实现
- TextView,Button的DrawableLeft,,Right 使用代码动态的设置
- TextView 代码实现drawableRight
- 在代码中修改TextView的DrawableRight图片
- 使用代码控制Android的TextView属性drawableLeft
- TextView、Button的drawableLeft和drawableRight与文本一起居中显示
- Android TextView 代码中设置 drawableLeft
- 【Android】TextView动态设置android:drawableLeft|Right|Top|Bottom,SetColor
- 在代码中改变TextView的drawableLeft的图片资源
- 在代码中修改TextView的DrawableRight图片
- android关于TextView的drawableLeft,drawableTop,drawableRight,drawableRight的drawable大小及位置问题
- Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标
- Android实现TextView 设置图片drawableLeft后内容居中
- 在java代码中设置TextView中DrawableLeft的方法
- 在代码中修改TextView的DrawableRight图片
- 在代码中修改TextView的DrawableRight图片