同一屏幕中的两个线性布局

时间:2013-03-25 12:47:54

标签: android android-linearlayout

嗨我试图为Android手机和平板电脑设计我的应用程序。所以我已经设计了它,但需要重新设计用于不同屏幕的缩放目的。

enter image description here

这是我想要的布局。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@color/white">

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weightSum="2"
        android:orientation="horizontal" >

    <fragment
        android:id="@+id/map"
        android:layout_marginTop="5dp"
        android:layout_weight=".1"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        class="com.google.android.gms.maps.MapFragment"
         />

    <Button
        android:id="@+id/button3"
        android:layout_weight=".25"
        android:layout_marginLeft="34dp"
        android:layout_marginTop="10dp"
           android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:onClick="ClickTourismButton"
        android:text="@string/Tourism" />

    <Button
        android:id="@+id/button4"
        android:layout_weight=".25"
           android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginLeft="34dp"
        android:text="@string/Nearby" />
    <Button
        android:id="@+id/button2"
        android:layout_weight=".25"
        android:layout_marginLeft="34dp"
           android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:text="@string/Favourites" />
    <Button
        android:id="@+id/button1"
        android:layout_weight=".25"
          android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginLeft="34dp"  
        android:text="@string/Map" />

    </LinearLayout>   


    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:weightSum="2"
        android:orientation="horizontal" >
    <TextView

        android:layout_marginLeft="10dp"
        android:layout_marginTop="5dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:textIsSelectable="true"      
        android:id="@+id/feedupdate1" />

    <ListView
        android:id="@android:id/list"
        android:background="@color/red"
        android:layout_weight="1"       
        android:layout_marginTop="5dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"/>

    <TextView
        android:id="@+id/empty"
        android:textIsSelectable="true"   
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"  
        android:layout_marginLeft="10dp"
         android:layout_marginTop="5dp"/>
    <TextView
        android:id="@+id/feedupdate"        
        android:layout_marginLeft="6dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop="430dp"
        android:textIsSelectable="true"/>
    <ListView

        android:id="@+id/list1"
        android:background="@color/blue"
        android:layout_weight="1"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop="430dp"
        android:layout_marginLeft="6dp" /> 

    </LinearLayout>
</RelativeLayout>

当我运行应用程序时,两个线性布局是相互叠加的?或者上面看到的黑色矩形的地图片段占据了所有的屏幕???我不知道我做错了什么,我看了几个教程,似乎没错?

需要帮助

感谢


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:weightSum="2"
    android:background="@color/white">

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

    <fragment
        android:id="@+id/map"
        android:layout_marginTop="5dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        class="com.google.android.gms.maps.MapFragment"
         />

    <Button
        android:id="@+id/button3"
        android:layout_marginLeft="34dp"
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:onClick="ClickTourismButton"
        android:text="@string/Tourism" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginLeft="34dp"
        android:text="@string/Nearby" />
    <Button
        android:id="@+id/button2"
        android:layout_marginLeft="34dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:text="@string/Favourites" />
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content" 
        android:layout_height="0dp"
        android:layout_marginLeft="34dp"  
        android:text="@string/Map" />

    </LinearLayout>   


    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >
    <TextView

        android:layout_marginLeft="10dp"
        android:layout_marginTop="5dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:textIsSelectable="true"      
        android:id="@+id/feedupdate1" />

    <ListView
        android:id="@android:id/list"
        android:background="@color/red"    
        android:layout_marginTop="5dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"/>

    <TextView
        android:id="@+id/empty"
        android:textIsSelectable="true"   
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"  
        android:layout_marginLeft="10dp"
         android:layout_marginTop="5dp"/>
    <TextView
        android:id="@+id/feedupdate"        
        android:layout_marginLeft="6dp"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop="430dp"
        android:textIsSelectable="true"/>
    <ListView

        android:id="@+id/list1"
        android:background="@color/blue"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop="430dp"
        android:layout_marginLeft="6dp" /> 

    </LinearLayout>
</LinearLayout>

enter image description here

一个组件占据每一方? 它被分成两部分,但是地图片段占据了所有的一面而第一个列表视图占据了所有其他部分???

3 个答案:

答案 0 :(得分:11)

  1. 将两个子LinearLayouts的方向更改为VERTICAL

  2. 顶部删除相对并使用方向为HORIZONTAL的LinearLayout 并weightSum=2

  3. 现在,在两个子行为布局视图中,layout_width="0dp"layout_weight="1"


  4. 您的示例XML:http://pastebin.com/2MCBN9qk

答案 1 :(得分:2)

尝试使用LinearLayout更改RelativeLayout,请查看此link以更深入地了解不同类型的布局。

答案 2 :(得分:1)

尝试使用weightSum 并在相对布局中添加线性布局,以便更好地定位。