3

我正在尝试在 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>
4

5 回答 5

2

将第一个线性布局方向更改为“垂直”。应该是作品。。

于 2013-06-25T09:20:53.913 回答
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 采用新的布局以进行水平分离。以及您在水平方向中需要的新布局。

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

基于以上代码的 UI。

于 2013-06-25T10:00:28.077 回答
1

您的父布局正在显示子布局,但它不在视野范围内。将父级的布局方向更改为垂直,它将可见。

进行这些更改..

<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>
于 2013-06-25T09:17:58.787 回答
0

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

< !-- 垂直方向的父线性布局 -->

但在 LinearLayout 你设置方向

机器人:方向=“水平”

使它成为

机器人:方向=“垂直”

你的问题就解决了。

于 2013-06-25T09:35:16.827 回答
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>
于 2013-06-25T09:35:26.403 回答