This tag and its children can be replaced by one <TextView/> and a compound drawable

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);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值