我有一个线性布局,其中包含一个textview和一个imageview,所以我尝试用复合drawable替换它们:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="5dp">
<ImageView
android:id="@+id/icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"/>
<TextView
android:id="@+id/label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:lines="2"/>
</LinearLayout>
这是我的结果:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:lines="2""
android:padding="5dp"/>
在代码中:
text.setText(textToSet);
imageToSet.setBounds( 0, 0, 105, 105 );
text.setCompoundDrawables( null, imageToSet, null, null );
在我的模拟器上看起来一样,但是在我的手机上,图标的大小仅为ImageViews的一半。怎么了我是否需要将其转换为dp / px或其他内容?