我正在尝试将图片添加到Android TextView,但没有显示任何内容。我就是这样做的:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="RevUpload">
<item name="android:src">@drawable/ic_airplay_black_24dp</item>
<item name="android:paddingLeft">44dp</item>
</style>
</resources>
这就是我所说的:
TextView about = new TextView(mContext);
about.setText("About");
about.setTextAppearance(R.style.RevUpload);
我错过了什么?我的方法有误吗?
我知道我可以通过drawable添加它,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="RevUpload">
<item name="android:src">@drawable/ic_airplay_black_24dp</item>
<item name="android:paddingLeft">44dp</item>
</style>
</resources>
但是我想通过样式XML文件添加它。
Vielen dank im voraus。
答案 0 :(得分:1)
属性android:src
仅显示ImageView
的图片。如果要在Java代码中为TextView
添加drawable,请使用TextView
setCompoundDrawables()
方法之一。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.text);
tv.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_android_black_24dp, 0);
}
}
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello world"/>
</FrameLayout>
答案 1 :(得分:1)
试试这会对你有所帮助
阅读您的drawable
Drawable dr = getResources().getDrawable(R.drawable.ic_img);
Bitmap bitmap = ((BitmapDrawable) dr).getBitmap();
// set size of your drable
Drawable img = new BitmapDrawable(getResources(),Bitmap.createScaledBitmap(bitmap, 50, 50, true));
设置新的,缩放的可绘制&#34; d&#34;
TextView tv = (TextView) findViewById(R.id.text);
tv.setCompoundDrawablesWithIntrinsicBounds(0, 0, img, 0);