在麦子学院的论坛里,我看见很多android新手都在问textview设置drawableleft属性的方法,我把那位在麦子学院论坛里的问题复制下来了,然后我们一起来解答下:
原问题描述:
xml中的textView:
1. <font face="宋体" size="3"> <TextView
2. android:id="@+id/bookTitle"
3. android:layout_width="match_parent"
4. android:layout_height="wrap_content"
5. android:layout_weight="1"
6. android:drawableLeft="@drawableeckmark"
7. android:gravity="center_vertical"
8. android:textStyle="bold"
9. android:textSize="24dip"
10. android:maxLines="1"
11. </font> <font face="宋体" size="3">
12. android:ellipsize="end"/> </font>
如程序中所见我在xml中设置了 DrawableLeft。
我想在代码中改变drawable。
有什么方法可以使用代码为textview设置drawableLeft呢?
解决方案:
1. <font face="宋体" size="3">
2. public void setCompoundDrawables (Drawable left, Drawable top, Drawable right, Drawable bottom); </font>
类似调用方法如下:
1.在XML中使用
1. <font face="宋体" size="3">
2. android:drawableLeft="@drawable/icon" </font>
2.代码中动态变化
1. <font face="宋体" size="3">
2. Drawable drawable= getResources().getDrawable(R.drawable.drawable);
3. /// 这一步必须要做,否则不会显示.
4. drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
5. myTextview.setCompoundDrawables(drawable,null,null,null); </font>
也或参考另一个函数
1. <font face="宋体" size="3">
2. public void setCompoundDrawablesWithIntrinsicBounds (Drawable left,
3. Drawable top, Drawable right, Drawable bottom)
4. </font>
在android界面开发过程中,有时候需要一个多行输入,实现代码如下:
1. <font face="宋体" size="3"> <EditText
2. android:id="@+id/editContent"
3. android:layout_width="fill_parent"
4. android:layout_height="wrap_content"
5. android:minLines="3"
6. android:textSize="18sp" </font>
更多android开发教程尽在:
http://www.maiziedu.com/course/android/