2012-10-23 10 views
5

Przepraszam, jeśli zadaję takie podstawowe pytanie. Próbowałem google cały ranek i czytałem dokumentację na stronie developer.android.com, ale nie mogłem znaleźć rozwiązania.Android GUI - jak zmusić przycisk do następnej linii?

Krótko mówiąc, chciałbym, aby interfejs, który wygląda tak:

enter image description here

To, co mam tak daleko:

enter image description here

Teraz jestem próbując przenieść 2 przyciski do następnej linii, ale wciąż nie mam z tym szczęścia. Jeśli zmienię system Android: orientation = "horizontal" na "vertical", wszystko zostało wyrównane w pionie. Próbowałem wprowadzić w tagu Button linię: android: orientation = "vertical", ale to nie działało.

Co jeszcze mogę spróbować? Czy ktoś dałby mi kilka wskazówek? (Jestem nowy na rozwój Androida i wszystkie te rzeczy XML).


Poniżej jest mój kod XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="horizontal" 
> 

<EditText android:id="@+id/txt_Input" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 

     android:hint="@string/txt_Input" 

     android:layout_weight="4"      
/> 
<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/btn_Send" 

     android:layout_weight="1" 

     android:onClick="sendMessage" 
/> 

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/btn_Send" 

     android:layout_weight="1" 

     android:onClick="sendMessage" 
/> 

</LinearLayout> 

Odpowiedz

4

Wystarczy użyć RelativeLayout i twoje przyciski powinien wyglądać mniej więcej tak:

<Button 
    android:id="@+id/send" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/btn_Send" 
    android:onClick="sendMessage" 
    android:layout_below="@+id/txt_Input" 
    android:layout_alignParentLeft="true"/> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/btn_Send" 
    android:onClick="sendMessage" 
    android:layout_below="@+id/txt_Input" 
    android:layout_toRightOf="@+id/send"/> 
+0

Dziękujemy za szczegółową odpowiedź. To było bardzo pomocne! – TATN

+0

Niewielka korekta, to na prawo, nie na tyle –

6

mieć wszystkie przedmioty w LinearLayout ze to orientacja ustawiona na poziomej linii w górę więc wszystkie elementy interfejsu poziomo. Musisz użyć RelativeLayout i ustawić przyciski poniżej EditText.

+2

Ewentualnie ustawić orientację pionową i wykorzystywać zagnieżdżone poziomy układ liniowy załączyć przycisków poniżej EditText. – withoutclass

+2

@without: byłoby to mniej wydajne niż tylko względny układ – Asahi

+0

Nie powinno być wielkiej różnicy. – CaseyB

Powiązane problemy