Android中的布局对齐问题

时间:2012-10-05 10:56:31

标签: android android-layout layout

我正在尝试实现此用户界面

layout

通过布局。但是在对齐中遇到问题。除此之外,这是一般使用LinearLayout还是RelativeLayout的最佳方法?获得许多参考资料都表明了两者。

这是我的xml:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="400dp"

    android:src="@drawable/splash_landscape" />

<TextView
    android:layout_width="301dp"
    android:layout_height="100dp"
    android:text="Product Name" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="323dp"
    android:layout_height="82dp"
    android:text="TextView" />

<LinearLayout 
     android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:layout_width="300dp"
android:layout_height="100dp"
android:text="Product Name"
></TextView>
        <RelativeLayout >
    <TextView android:layout_width="200dp"
android:layout_height="100dp"
android:text="Product Name"
></TextView>

</RelativeLayout>
<RelativeLayout >
    <TextView android:layout_width="200dp"
android:layout_height="100dp"
android:text="Product Name"
></TextView>
    <TextView android:layout_width="200dp"
android:layout_height="100dp"
android:text="Product Name"
></TextView>

</RelativeLayout>



<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/launcher" />

</LinearLayout>
<TextView
    android:id="@+id/textView2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="TextView" />
</LinearLayout>

2 个答案:

答案 0 :(得分:3)

我已经尝试了上面的布局,我接近了。下面是xml文件和屏幕截图

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="60dip"
        android:orientation="vertical" android:background="#c0c0c0">

        <Button
            android:id="@+id/button8"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="Button" />

    </LinearLayout>

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:layout_marginTop="5dip">

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff">
 <LinearLayout
            android:id="@+id/linearLayout4"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff" android:layout_marginTop="5dip">

     <Button
         android:id="@+id/button3"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="Button" />

        </LinearLayout>
         <LinearLayout
            android:id="@+id/linearLayout5"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff" android:layout_marginTop="5dip">
 <LinearLayout
            android:id="@+id/linearLayout7"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff" android:layout_weight="1">

     <Button
         android:id="@+id/button1"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="Button" />

        </LinearLayout>
         <LinearLayout
            android:id="@+id/linearLayout8"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff" android:layout_weight="1">

             <Button
                 android:id="@+id/button2"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:text="Button" />

        </LinearLayout>
        </LinearLayout>
         <LinearLayout
            android:id="@+id/linearLayout6"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff" android:layout_marginTop="5dip">
 <LinearLayout
            android:id="@+id/linearLayout9"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff" android:layout_weight="1">

     <Button
         android:id="@+id/button4"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="Button" />

        </LinearLayout>
         <LinearLayout
            android:id="@+id/linearLayout10"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" android:layout_toLeftOf="@+id/linearLayout3" android:layout_alignParentLeft="true" android:background="#fff" android:layout_weight="1">

             <Button
                 android:id="@+id/button5"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:text="Button" />

        </LinearLayout>
        </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout3"
            android:layout_width="70dip"
            android:layout_height="wrap_content"
            android:orientation="vertical" android:layout_alignParentRight="true" android:background="#c0c0c0" android:layout_alignBottom="@+id/linearLayout2" android:layout_alignTop="@+id/linearLayout2">

            <Button
                android:id="@+id/button6"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:text="Button" />

        </LinearLayout>

    </RelativeLayout>

  <LinearLayout
      android:id="@+id/linearLayout11"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_alignParentRight="true"
      android:background="#c0c0c0"
      android:orientation="horizontal" android:layout_marginTop="5dip">

            <Button
                android:id="@+id/button6"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Button" android:layout_weight="1"/>

            <Button
                android:id="@+id/button7"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Button" android:layout_weight="1"/>

        </LinearLayout>
          <LinearLayout
            android:id="@+id/linearLayout12"
            android:layout_width="fill_parent"
            android:layout_height="30dip"
            android:orientation="vertical" android:layout_alignParentRight="true" android:background="#c0c0c0" android:layout_marginTop="5dip">

            <Button
                android:id="@+id/button6"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Button" />

        </LinearLayout>
          <LinearLayout
            android:id="@+id/linearLayout13"
            android:layout_width="fill_parent"
            android:layout_height="60dip"
            android:orientation="vertical" android:layout_alignParentRight="true" android:background="#c0c0c0" android:layout_marginTop="5dip">

            <Button
                android:id="@+id/button6"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="Button" />

        </LinearLayout>
</LinearLayout>

enter image description here

答案 1 :(得分:2)

我肯定会以RelativeLayout为根。然后,使用belowtoRightOfalignParentLeft等来安排所有观看会更加容易。