2012-04-08 11 views
2

Ich möchte die folgenden Layout-Arbeiten sehen:Wie kann ich dieses RelativeLayout reparieren?

-------------------------- 
| -----------   | 
| |TextView1|   | 
| -----------   | 
| ---------------------- | 
| |EditText1   | | 
| ---------------------- | 
| -----------   | 
| |TextView2|   | 
| -----------   | 
| ---------------------- | 
| |EditText2   | | 
| ---------------------- | 
| -----------   | 
| |TextView3|   | 
| -----------   | 
| ---------------------- | 
| |     | | 
| |     | | 
| |     | | 
| |  ImageView  | | 
| |     | | 
| |     | | 
| |     | | 
| |--------------------| | 
| --------- -------- | 
| |Button1||Button2| | 
| --------- -------- | 
| ---------------------| | 
| |  ButtonBar  | | 
| ---------------------- | 
|------------------------| 

Mein Problem: Ich kann nicht Button1 und Button2 Arbeit in diesem Layout machen. Sie gehen entweder unter die ImageView, die hinter der ButtonBar verborgen ist, oder sie werden zwischen dem unteren Ende des ImageView und dem oberen Rand der ButtonBar zu nichts geschrumpft.

Der aktuelle XML-Code:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<RelativeLayout 
    android:id="@+id/relativeLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/footer" > 

    <TextView 
     android:id="@+id/textPostUser" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:text="user" /> 

    <EditText 
     android:id="@+id/editPostUser" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/textPostUser" 
     android:hint="user" 
     android:maxLength="40" > 

     <requestFocus /> 
    </EditText> 

    <TextView 
     android:id="@+id/textPostComment" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/editPostUser" 
     android:text="comment" /> 

    <EditText 
     android:id="@+id/editPostComment" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/textPostComment" 
     android:hint="comment" 
     android:maxLength="200" 
     android:maxLines="3" > 
    </EditText> 

    <TextView 
     android:id="@+id/textPostCharacterCount" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/editPostComment" 
     android:text="characters" 
     android:textSize="5pt" /> 

    <ImageView 
     android:id="@+id/imagePostResult" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@id/textPostCharacterCount" 
     android:src="@drawable/camera_icon" /> 

    <Button 
     android:id="@+id/buttonPostRotateLeft" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@id/imagePostResult" 
     android:text="left" /> 

    <Button 
     android:id="@+id/buttonPostRotateRight" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@id/imagePostResult" 
     android:layout_toRightOf="@id/buttonPostRotateLeft" 
     android:text="right" /> 
</RelativeLayout> 

<LinearLayout 
    android:id="@+id/footer" 
    style="@android:style/ButtonBar" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:orientation="horizontal" > 

    <Button 
     android:id="@+id/buttonPostSave" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="save" /> 
</LinearLayout> 

</RelativeLayout> 

Wie kann ich die Links/Rechts-Tasten unter dem Imageview und über dem buttonbar erscheinen? Ich möchte mindestens den fill_parent in Höhe/Breite des ImageView beibehalten, da er ziemlich gut auf verschiedene Auflösungen skaliert.

+0

+1 Gerade für die nette Formatierung, die Sie :) tat – Layke

Antwort

1

Ihr Image so fill_parent gesetzt wird, gibt es keinen Raum unten für die Tasten links. Sie können die Tasten wechseln und die Imageview so die Imageview alle Platz in Anspruch nimmt links, wenn die Tasten sind bereits enthalten:

<Button 
     android:id="@+id/buttonPostRotateLeft" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:text="left" /> 

    <Button 
     android:id="@+id/buttonPostRotateRight" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_toRightOf="@id/buttonPostRotateLeft" 
     android:text="right" /> 

    <ImageView 
     android:id="@+id/imagePostResult" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@id/buttonPostRotateLeft" 
     android:layout_below="@id/textPostCharacterCount" 
     android:src="@drawable/camera_icon" /> 
+0

, die perfekt war! Akzeptierte Antwort, und ich habe auch etwas auf dem Weg gelernt. –

1

Warum nicht die beiden Tasten in ein horizontales LinearLayout stecken?

0

Ihre Schaltflächen sind auf android:layout_alignParentBottom="true" eingestellt, ebenso wie das lineare Layout. Letzteres wird den ersten verstecken, da es im XML-Code zuletzt kommt.

Versuchen Sie, Ihre Tasten in einem linearen Layout setzen und ausrichten oberhalb der Fußzeile android:layout_above="@+id/footer"

Verwandte Themen