布局如何配置

时间:2013-03-01 11:35:50

标签: android android-layout

我的布局遇到了问题。我想要一个水平文件,每个都有两行:

这与我想要的类似:

enter image description here

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
  android:gravity="center"

>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center">


    <ImageView android:id="@+id/takeBike" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
        android:src="@drawable/flecha_1"
        android:background="@null"/>

    <ImageView android:id="@+id/returnBike" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
        android:src="@drawable/flecha_2"
        android:background="@null"/>

</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center">


    <TextView android:id="@+id/takeTime" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
    />

    <TextView android:id="@+id/returnTime" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
    />

</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center">


    <TextView android:id="@+id/parkingTake" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
    />

    <TextView android:id="@+id/parkingReturn" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
    />

</LinearLayout>


<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center">


    <TextView android:id="@+id/useTime" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
    />

    <TextView android:id="@+id/cost" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="20dip"
    />

</LinearLayout>

但我得到的是:

enter image description here

哪里出错?

4 个答案:

答案 0 :(得分:2)

Android平台针对此情况设置了特定的布局TableLayout

使用TableLayout的布局:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">

    <TableRow>

        <ImageView android:id="@+id/takeBike" 
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginTop="8dip" 
               android:layout_marginBottom="8dip"
               android:layout_marginLeft="20dip"
               android:src="@drawable/flecha_1"
               android:background="@null"/>

         <TextView android:id="@+id/takeTime" 
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginTop="8dip" 
               android:layout_marginBottom="8dip"
               android:layout_marginLeft="20dip"/>

         <TextView android:id="@+id/parkingTake" 
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginTop="8dip" 
               android:layout_marginBottom="8dip"
               android:layout_marginLeft="20dip"/>

        <TextView android:id="@+id/useTime" 
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginTop="8dip" 
               android:layout_marginBottom="8dip"
               android:layout_marginLeft="20dip"/>

    </TableRow>

    <TableRow>

        <ImageView android:id="@+id/returnBike" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dip" 
            android:layout_marginBottom="8dip"
            android:layout_marginLeft="20dip"
            android:src="@drawable/flecha_2"
            android:background="@null"/>

        <TextView android:id="@+id/returnTime" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dip" 
            android:layout_marginBottom="8dip"
            android:layout_marginLeft="20dip"/>

        <TextView android:id="@+id/parkingReturn" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dip" 
            android:layout_marginBottom="8dip"
            android:layout_marginLeft="20dip"/>

        <TextView android:id="@+id/cost" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dip" 
            android:layout_marginBottom="8dip"
            android:layout_marginLeft="20dip"/>



    </TableRow>
</TableLayout>

答案 1 :(得分:1)

删除布局中的标记android:gravity="center",我认为这样做。

答案 2 :(得分:1)

对不起老兄,我感觉非常懒,所以没有尝试在你的代码中找到问题,而是为你写了正确的问题。你走了:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="70dp"
    android:background="#1E90FF"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:background="#87CEFA"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:src="@android:drawable/ic_media_previous" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:src="@android:drawable/ic_media_next" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:background="#87CEFA"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:gravity="center_vertical"
            android:singleLine="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:gravity="center_vertical"
            android:singleLine="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:background="#87CEFA"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:gravity="center_vertical"
            android:singleLine="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:gravity="center_vertical"
            android:singleLine="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:background="#87CEFA"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:gravity="center_vertical"
            android:singleLine="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:gravity="center_vertical"
            android:singleLine="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

</LinearLayout>

请查看您的代码出了什么问题。只是为了更快地回复,我复制粘贴样式一遍又一遍,你应该在样式中指定并使用它,遵循指导方针,从长远来看它会帮助你。 PFB从图形布局拍摄的屏幕: Screen shot

答案 3 :(得分:0)

使用嵌套布局,例如

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


    <LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    >


 <LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:layout_weight=".25">


  <Button
        android:id="@+id/play_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="left" />

    <Button
        android:id="@+id/stop_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="right" />

</LinearLayout>

 <LinearLayout 
   android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:layout_weight=".25">


  <TextView
        android:id="@+id/play_button"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:text="12 02 14:07"
        android:layout_weight=".5"/>

    <TextView
        android:id="@+id/stop_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="12 02 14:07" />

</LinearLayout>

 <LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:layout_weight=".25">


  <TextView
        android:id="@+id/play_button"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:text="12 02 14:07"
        android:layout_weight=".5"/>

    <TextView
        android:id="@+id/stop_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="12 02 14:07" />

</LinearLayout>
<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:layout_weight=".25">


  <TextView
        android:id="@+id/play_button"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:text="12 02 14:07"
        android:layout_weight=".5"/>

    <TextView
        android:id="@+id/stop_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="12 02 14:07" />

</LinearLayout>
</LinearLayout>

</LinearLayout>