1.当是以下布局,LinearLayout会报警告:This tag and its children can be replaced by one and a compound drawable
<LinearLayout
android:id="@+id/ll_assort_video"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/category_icon_video"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/video"/>
</LinearLayout>
2.修改方法:将TextView和ImageVie合成一个,直接在xml中利用TextView的 android:drawableTop、android:drawableRight等属性指定!如下:
<LinearLayout
android:id="@+id/ll_assort_video"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/video"
android:drawableTop="@drawable/category_icon_video"/>
</LinearLayout>
3.如果要在代码中设置textview上下左右图片,使用以下方法:
setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)
但Drawable对象必须使用这个方法,否则图片不展示
setBounds(int left, int top, int right, int bottom)
在textview上方设置图片的总体使用方法:
Drawable drawable= getResources().getDrawable(R.drawable.drawable);
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
textview.setCompoundDrawables(null,drawable,null,null);