我可以使用像
这样的xml属性在右侧设置图像textview <TextView
android:id="@+id/txtarrow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/arrow"
android:gravity="right"
android:onClick="VideoClick"
android:padding="5dip"
android:textColor="#feb4e7" >
</TextView>
我想设置
android:drawableRight="@drawable/arrow"
编程 像
txtarrow1.setBackgroundResource(R.drawable.arrow_blue);
但是这个没有用
答案 0 :(得分:9)
您只需使用Google查找TextView的Android java文档即可。 他们有一个巨大的表格,显示每个属性的编程选项。
android:drawableRight (@compile time)
setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) (@runtime)
要绘制在文本右侧的drawable。
答案 1 :(得分:4)
此处您想使用
有两种方法:
1&GT; 通过Image Drawable
前:
Drawable img = getContext().getResources().getDrawable( R.drawable.dogy );
txtarrow1.setCompoundDrawablesWithIntrinsicBounds(
img,// left
null,//top
null,// right
null//bottom);
请记住,此方法在一个视图(文本视图,按钮)中的图像存储中最常用 -
2 - ; 通过图片ID
txtarrow1.setCompoundDrawablesWithIntrinsicBounds(
R.drawable.ic_doggy,// left
0,//top
0,// right
0//bottom);
最有可能这些方法用于不同的图像显示在多个视图中,如(GridView)
当 Drawable 无法显示图像集 null &amp;时,必须记住这两者之间的差异。在 ID 设置 0 (零)
答案 2 :(得分:0)
您可以使用SpannableString
..
SpannableString text = new SpannableString("text");
text.setSpan(new ImageSpan(getActivity(), R.drawable.arrow_blue), 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
txtarrow1.setText(text);