2013-06-25 87 views
2

我想在android中創建一個佈局,當我在線性佈局內創建一個線性佈局時,它的增加但在界面中不可見。這是我的代碼線性佈局裏面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> 
+0

沒有空間了,你的'EditText'和'Button'是'match_parent'所以一切都推了。 –

+1

android:orientation =「horizo​​ntal」你的父佈局有這個屬性。將其更改爲垂直 –

+0

感謝您的回覆肯,我做了更改,但仍然不可見。 – Sajeetharan

回答

2

試試這個我想你想這種類型的UI。

<?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 Layout Orientation設置爲Vertical,並將新Layout放入即EditText和TextView進行水平分離。以及水平方向中需要的新佈局。

顯示您的用戶界面在這裏:

UI based on Above code.

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上一個子佈局,並使其取向水平..它會在同一line

<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> 
2

更改第一個線性佈局方向「垂直」。它應該是作品..

0

這是你的描述,你貼出的問題,你做的方向錯誤,在評論你寫

< - !與垂直方向的家長線性佈局 - >

但在LinearLayout中設置定向

機器人:方向= 「橫向」

使其

機器人:方向= 「垂直」

,你的問題就解決了。

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>