对于下面的控件布局,我将使用2个线性布局的相对布局。1个具有灰色背景的B1,B2和B3的线性布局,以及1个针对B4,B5和B6的线性布局。
我读过在相对布局中使用线性布局会减慢渲染速度。
有什么想法可以摆脱线性布局吗?特别是我无法获得行B1,B2和B3的灰色背景。或者您认为使用这种方式应该没问题。在此先感谢您的帮助。
编辑 :
以下是我刚开始构建的xml,并尝试消除所有子布局(如果可能)。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="15dp"
android:src="@drawable/ic_launcher" />
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/abc_ic_search_api_holo_light" />
<TextView
android:id="@+id/textView1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_below="@+id/imageButton1"
android:layout_centerHorizontal="true"
android:text=" Test Label" />
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="54dp"
android:background="@android:color/darker_gray" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_toRightOf="@+id/linearLayout1"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_marginLeft="18dp"
android:layout_toRightOf="@+id/imageView1"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:text="Button" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout1"
android:layout_marginTop="31dp" >
<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/button5"
android:layout_toLeftOf="@+id/imageButton1"
android:text="Button" />
<Button
android:id="@+id/button4"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/linearLayout2"
android:layout_centerVertical="true"
android:text="Button" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/button4"
android:text="Button" />
</LinearLayout>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView1"
android:layout_alignTop="@+id/listView1"
android:layout_marginRight="15dp"
android:text="TextView" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout2"
android:layout_marginTop="18dp" >
</ListView>
</RelativeLayout>
没有看到您的xml,您将能够完成此操作的唯一方法是使用单个相对布局,该布局包含另一个包含您的按钮行的LinearLayout。
没错,但最好的做法是限制嵌套布局的数量(不仅是线性的,而且是任何类型的嵌套布局)。
在这种情况下,要设置行背景,您至少需要一个嵌套的LinearLayout,这不是一个大问题。
编辑:检查完XML后,我认为这是实现所需内容的最佳方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句