如何在Android中分割屏幕与三个不同大小的面板?

问题描述:

我想在android:如何在Android中分割屏幕与三个不同大小的面板?

enter image description here
上创建一个像这样的屏幕,并实现这一点,我写了一些类似的代码..但我没有做我想做的事。文本区域不存在于屏幕中。我该怎么办 ?任何意见。谢谢提前..

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/linearLayout123" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:weightSum="1.0" 
     android:gravity="fill"> 

    <LinearLayout 
     android:id="@+id/linearLayout12" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" > 

    <Button android:id="@+id/button1"    
     android:layout_width="wrap_content"           
     android:layout_height="wrap_content"   
     android:text="Hello, I am a Button" /> 

     </LinearLayout> 


    <LinearLayout 
     android:id="@+id/linearLayout2" 
     android:layout_width="118dp" 
     android:layout_height="fill_parent" 
     android:layout_gravity="right" 
     android:orientation="vertical" > 

     <Button android:id="@+id/button2"    
     android:layout_width="wrap_content"           
     android:layout_height="wrap_content"   
     android:text="Hello, I am a Button" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="228dp" 
     android:layout_height="fill_parent" 
     android:layout_gravity="left" > 

      <TextView 
       android:id="@+id/text2"    
       android:layout_width="wrap_content"    
       android:layout_height="wrap_content"    
       android:text="Hello, I am a TextView" /> 

      </LinearLayout> 


    </LinearLayout> 
+0

这要看你怎么想这个结构化的。如果您想要LinearLayouts,以便您可以添加其他视图,或者如果您只想在每个部分中使用一个按钮,而在其他部分使用一个文本视图 – dymmeh 2012-03-20 20:59:14

一个的RelativeLayout将完成你想要

<?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"> 

    <LinearLayout 
     android:id="@+id/rightLayout" 
     android:layout_width="100dip" 
     android:layout_height="fill_parent" 
     android:layout_alignParentRight="true" 
     android:background="#003300" 
     android:orientation="vertical" > 
    </LinearLayout> 


    <LinearLayout 
     android:id="@+id/topLayout" 
     android:layout_toLeftOf="@id/rightLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="100dip" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:background="#330033" 
     android:orientation="vertical" > 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/bottomLayout" 
     android:layout_toLeftOf="@id/rightLayout" 
     android:layout_below="@id/topLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_alignParentLeft="true" 
     android:background="#334433" 
     android:orientation="vertical" > 
    </LinearLayout> 

</RelativeLayout> 

结果作为LinearLayouts什么新的线性布局或直接在物体和作为按钮/ TextViews(因为我不知道你想):

ResultResult2

如果您使用的是LinearLayouts作为容器来保存含多处e视图然后离开它,因为我拥有它。

如果您计划在每个“零件”中只有一个视图,则将我的布局文件中的LinearLayouts更改为该类型。例如,如果你想第1部分是只需一个按钮,改变

<LinearLayout 
     android:id="@+id/topLayout" 

<Button 
     android:id="@+id/topLayout" 

嵌套的意见是坏的,所以它的好,以避免他们,如果你能

+0

非常感谢你这是我想要的..正如我所提到的,我想分开他们,因为不同的应用程序将在每个面板。例如在第一部分会有一些文字是动画的,第三部分会有照片或其他内容。我想我可以用这三种布局来做这种应用。 – jakobiyem 2012-03-20 21:15:40

+0

你说的一切应该可以正常工作。祝你好运! – dymmeh 2012-03-20 21:22:48

+0

非常感谢,我很高兴:) – jakobiyem 2012-03-20 21:27:51

你可以:

Main linear layout with vertical alignment 
add a new linear layout with horizontal alignment 
add a new linear layout with horizontal or vertical alignment 

所以在第一个布局(主布局的左边部分)你水平对齐,并添加新的线性布局添加你想要的两个元素。 在第二个布局(主布局的右边部分),添加你想显示

+0

如果我不明白您的理解,那么您的意思是第一部分和第三部分应该是一起。但我想分开它们,因为不同的应用程序将在每个面板中。例如在第一部分会有一些文字,但在第三部分会有照片.. – jakobiyem 2012-03-20 20:59:47

+0

不使用相对布局..它会在不同的屏幕大小的功能不同!如果你按照我写的你可以添加你想要的布局.. – JackTurky 2012-03-20 22:29:31