在Android中的Linearlayout里面的Linearlayout

时间:2013-06-25 09:15:25

标签: android layout

我正在尝试在android中创建一个布局,当我在线性布局中创建一个线性布局时,它会被添加但在界面中不可见。这是我的代码

<?xml version="1.0" encoding="utf-8"?>
<!-- Parent linear layout with vertical orientation -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="_baseline"
    android:orientation="horizontal" >

  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:padding="5dip"
      android:text="@string/name" />

  <EditText
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="top"
      android:layout_marginTop="0dp"
      android:ems="10" >

     <requestFocus />
  </EditText>

  <Button
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="290dp"
      android:text="@string/submit" />

  <!-- Child linear layout with horizontal orientation -->

  <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="#2a2a2a"
      android:baselineAligned="_baseline"
      android:orientation="horizontal" >

  <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
         android:text="Previous" android:padding="15dip" android:layout_weight="1"
         android:gravity="center"/>

  <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
         android:text="Next" android:padding="15dip" android:layout_weight="1"
         android:gravity="center"/>  

  </LinearLayout>

</LinearLayout>

5 个答案:

答案 0 :(得分:2)

将第一个“线性布局”方向更改为“垂直”。它应该是有效的..

答案 1 :(得分:2)

试试这个我想你想要这种类型的用户界面。

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

<!-- Parent linear layout with vertical orientation -->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

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

   <TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:padding="5dip"
     android:text="@string/app_name" />

   <EditText
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="top"
     android:layout_marginTop="0dp"
     android:ems="10" >

    <requestFocus />
   </EditText>

 </LinearLayout>

 <Button
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_marginTop="290dp"
   />

 <!-- Child linear layout with horizontal orientation -->

 <LinearLayout
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#2a2a2a"
  android:orientation="horizontal" >

 <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
     android:text="Previous" android:padding="15dip" android:layout_weight="1"
     android:gravity="center"/>

 <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
     android:text="Next" android:padding="15dip" android:layout_weight="1"
     android:gravity="center"/>  

 </LinearLayout>

 </LinearLayout>
问题。是你希望单行中的TextView和EditText,因为你将父LinearLayout放在水平方向,但因为所有内容都在gorizo​​ntalway中运行..

因此,您需要将Layout Orientation设置为Vertical,并为EditText和TextView采用新的Layout进行水平分离。以及水平方向所需的新布局。

在此处显示您的用户界面:

UI based on Above code.

答案 2 :(得分:1)

您的父布局显示子布局,但它不在视图范围内。将Parent的布局方向更改为Vertical,它将可见。

进行这些更改..

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="_baseline"
    android:orientation="vertical" >

要在同一行中获取edittext,

为textview和edittext创建子布局,并使其方向为水平..它将在同一行中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="_baseline"
    android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="_baseline"
    android:orientation="horizontal" >

  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:padding="5dip"
      android:text="@string/name" />

  <EditText
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="top"
      android:layout_marginTop="0dp"
      android:ems="10" >

     <requestFocus />
  </EditText>
</LinearLayout>

...
...
</LinearLayout>

答案 3 :(得分:0)

这是你在发布问题时的描述,你在方向上犯了错误,在你写的评论中

  

&LT; ! - 具有垂直方向的父线性布局 - &gt;

但在LinearLayout中设置方向

  

机器人:取向= “水平”

转到

  

android:orientation =“vertical”

,你的问题就解决了。

答案 4 :(得分:0)

试试这个......

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

  <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="_baseline"
    android:layout_weight="1"
    android:orientation="horizontal" >

  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:padding="5dip"
      android:text="@string/name" />

  <EditText
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="top"
      android:layout_marginTop="0dp"
      android:ems="10" >

     <requestFocus />
  </EditText>

  <Button
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="290dp"
      android:text="@string/submit" />
</LinearLayout>

  <!-- Child linear layout with horizontal orientation -->

  <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="#2a2a2a"
      android:layout_weight="1"
      android:baselineAligned="_baseline"
      android:orientation="horizontal" >

  <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
         android:text="Previous" android:padding="15dip" android:layout_weight="1"
         android:gravity="center"/>

  <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
         android:text="Next" android:padding="15dip" android:layout_weight="1"
         android:gravity="center"/>  

  </LinearLayout>

</LinearLayout>