Android布局提示TextView可以代替LinearLayout警告的解决办法

来源:互联网 发布:vscode html自动补全 编辑:程序博客网 时间:2024/05/01 06:11

布局警告:This tag and its children can be replaced by one <TextView/> and a compound

<LinearLayout
            android:id="@+id/ll_open"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:visibility="gone"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:contentDescription="@string/btn_open"
                android:src="@drawable/verify_open" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#FFFFFF"
                android:text="@string/btn_open" />
</LinearLayout>

今天做项目的时候发现一直有这个提示,说是我的布局可以用一个TextView代替。我想着,这个怎么能代替呢?一个图片和一个文本不就得一个layout么?于是,我就查了查资料,发现的确是可以代替的,原来,TextView是可以设置图片的。。。


直接用一个TextView代替上面代码:

<TextView
            android:id="@+id/tv_scan"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#FFFFFF"
            android:text="@string/btn_scan" />


并在java文件中设置图片:

Drawable drawable = getResources().getDrawable(R.drawable.verify_scan);
        drawable.setBounds(0, 0, 50, 50);  //必须设置图片大小,否则不显示
        tv_scan.setCompoundDrawables(null , drawable, null, null); //left,top,right,bottom设置图片在上下左右的布局

0 0
原创粉丝点击