安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom

安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom

TextView的xml文件

<TextView android:id="@+id/tv_versionstatus"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:drawablePadding="5dp"
                    android:drawableRight="@drawable/icon_new"
                    android:text="版本"
                    android:textColor="#363636"
                    android:textSize="20sp" />

在代码中如果要修改drawableRight设置的图片可以使用API

void android.widget.TextView.setCompoundDrawables(Drawable left,
Drawable top, Drawable right, Drawable bottom)

Drawable可以通过 Drawable rightDrawable = getResources().getDrawable(R.drawable.icon_new); 得到。

但是API提示,setCompoundDrawables() 调用的时候,Drawable对象必须调用setBounds(int left, int top, int right, int bottom)方法,于是我们加一行代码就可以了。

rightDrawable.setBounds(0, 0, rightDrawable.getMinimumWidth(), rightDrawable.getMinimumHeight());

整体代码如下:

Drawable rightDrawable = getResources().getDrawable(R.drawable.icon_new);
			rightDrawable.setBounds(0, 0, rightDrawable.getMinimumWidth(), rightDrawable.getMinimumHeight());
			tvVersionStatus.setCompoundDrawables(null, null, rightDrawable, null);
时间: 2024-10-27 14:08:53

安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom的相关文章

Android 动态设置TextView的drawableLeft等属性

  首先,我们在开发过程中,会经常使用到android:drawableLeft="@drawable/ic_launcher"这些类似的属性:   关于这些属性的意思,无非是在你的textView文本的上下左右处添加一个图片.比如下面这么一段代码: <TextView android:id="@+id/text_drawable" android:layout_width="wrap_content" android:layout_hei

qtcreator-Qt导出word文档,如何在代码中设置文档内容的样式?

问题描述 Qt导出word文档,如何在代码中设置文档内容的样式? RT.网上查了一下,基本都是用模板+书签的方法来插入内容,但是我现在想直接靠运行程序来生成一个文档,但是这就有一个问题,文档内容的格式就得写在代码之中,而不能像书签那样把格式定好了直接插内容就行.各位大神知道怎么弄吗? 解决方案 一样的,可以对Selection应用段落样式来实现.具体可以在word中录制一个宏,然后根据自动产生的VB代码照着写.

android代码布局-android 代码中设置控件的垂直居中和两个控件之间的距离。

问题描述 android 代码中设置控件的垂直居中和两个控件之间的距离. 因为数据是动态的 所以所有的控件和布局都是在java代码里面设置 怎样才能让一个控件垂直居中 还有两个控件之间的距离又是怎么设置的啊 求高手指点啊 最好能给点代码 我是新手 说的太笼统了 看不太懂 谢谢了 解决方案 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT,

字体颜色-android java代码中设置radiobutton选中与为选中颜色

问题描述 android java代码中设置radiobutton选中与为选中颜色 tab_rb_b.setTextColor(MainActivity.this.getResources().getColor(R.drawable.main_text_color)); 其中R.drawable.main_text_color是自己写好的 颜色改变的xml <!-- not selected --> 但是设好之后 颜色并没有随选中而改变,只是一直都是为选中状态的颜色. 哪位大神知道是怎么回事吗

colors-无法实现在java代码中设置radiobutton颜色变换

问题描述 无法实现在java代码中设置radiobutton颜色变换 我在res/color文件夹下写了一个selector,在java中setTextColor引用时无效果. 本人新手,还请各位大大指教~ 以下是关键代码 res/color/textcolor.xml <?xml version="1.0" encoding="utf-8"?> <item android:state_checked="true" androi

怎么样让wpf中前台已存在的控件的属性可以在后台代码中设置

问题描述 怎么样让wpf中前台已存在的控件的属性可以在后台代码中设置 怎么样让wpf中前台已存在的控件的属性可以在后台代码中设置,比如说xaml中已经存在一个border,我想要在后台代码中初始化他的旋转角度 解决方案 这些属性是可以在后台代码中设置的,直接在后台.cs文件里写就是了 解决方案二: 好像不能把,比如说 在后台代码怎么修改Angle属性呢 解决方案三: http://www.cnblogs.com/slowhand/archive/2013/05/13/3076259.html 亲

Silverlight 5 beta新特性探索系列:2.在XAML代码中设置断点和Binding绑定调试【附带源码实例】

在Silverlight之前的版本中都不能在XAML代码中设置断点以跟踪调试的,在Silverlight 5 beta版中我们将能够为Binding数据的XAML代码设置断点以跟踪调试相应的数据绑定过程. 首先我们新建一个Silverlight 5应用程序,然后准备后台数据代码如下以绑定一个DataGrid控件. public MainPage() { InitializeComponent(); List<CityInformation> cityList=new List<CityI

Android在代码中设置沉浸式布局的方法

先导入该包,进行 系统systemBar 管理 compile 'com.readystatesoftware.systembartint:systembartint:1.0.3' 在BaseActivity中添加 该 字段: public class BaseActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { if (Build.VERSION.SDK_INT >=

Android中设置TextView首行缩进

在文字排版的时候经常要设置首行缩进,使用过word的都会知道,那么在Android中当需要设置首行缩进的时候该肿么办呢,我总结了两种方式: 第一种:傻瓜式,空格充当(8个空格占两个汉字的大小). textView.setText("        设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进"); 第二种:转义字符. textView.se