首页 > 其他 > 详细

textview设置drawable

时间:2015-11-03 17:14:09      阅读:254      评论:0      收藏:0      [点我收藏+]

textview可以在上下左右四个方向添加图片,同时也可以动态改变这些图片;

 
下面有我写的一个例子:

在xml文件中:
 <TextView
                android:id="@+id/day_night_mode_tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/btn_sidebar_item"
                android:clickable="true"
                android:drawableTop="@drawable/ic_day_night_mode_auto"
                android:gravity="center"
                android:paddingBottom="5dp"
                android:paddingTop="5dp"
                android:text="自动"
                android:textColor="@color/day_night_mode_text_color" />
 
在代码中动态改变图片:
    在代码中如果要修改drawableRight设置的图片可以使用
      setCompoundDrawables(Drawable left,Drawable top,Drawable right,Drawable bottom)
     Drawable可以通过 Drawable drawable =getResources().getDrawable(R.drawable.button_nav_up);得到

     但是API提示,setCompoundDrawables() 调用的时候,Drawable对象必须调用setBounds(int left, int top, int right, int bottom)方法

 

    具体如下:

 

  if (mDaynightModeInt % 3 == 0) {

    // 自动

    mDaynightModeTv.setText("自动");

    Drawable drawable = getResources().getDrawable(

      R.drawable.ic_day_night_mode_auto);

    drawable.setBounds(0, 0, drawable.getMinimumWidth(),

      drawable.getMinimumHeight());

    mDaynightModeTv

      .setCompoundDrawables(null, drawable, null, null);

 

   } else if (mDaynightModeInt % 3 == 1) {

    // 日间模式

    mDaynightModeTv.setText("日间模式");

    Drawable drawable = getResources().getDrawable(

      R.drawable.ic_day_night_mode_day);

    drawable.setBounds(0, 0, drawable.getMinimumWidth(),

      drawable.getMinimumHeight());

    mDaynightModeTv

      .setCompoundDrawables(null, drawable, null, null);   

   } else {

    // 夜间模式

    mDaynightModeTv.setText("夜间模式");

    Drawable drawable = getResources().getDrawable(

      R.drawable.ic_day_night_mode_night);

    drawable.setBounds(0, 0, drawable.getMinimumWidth(),

      drawable.getMinimumHeight());

    mDaynightModeTv

      .setCompoundDrawables(null, drawable, null, null);

   }

 

textview设置drawable

原文:http://www.cnblogs.com/shenchanghui/p/4933458.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!