2016-04-11 4 views
-1

Ich bin neu in der Welt der Android-Entwicklung, und ich versuche zu lernen, wie man von Jetzt habe ich alle Schritte, bis die Zip Code und die Number auf der gleichen Linie. Ich verstehe nicht, wie kann ich das schaffen, wenn ich die Number Steuerung neben der TextView die IDE die Number über die Steuerung oder nach unten ziehen und ablegen. Ich weiß nicht, wie richtig zu erklären, wie auch immer, dies ist ein Bild:Kann nicht mehrere Steuerelemente in einer Zeile mit RelativeLayout

enter image description here

und dies ist der source Code:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <RelativeLayout 
     android:minWidth="25px" 
     android:minHeight="25px" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/relativeLayout1" /> 
    <EditText 
     android:inputType="number" 
     android:layout_height="wrap_content" 
     android:id="@+id/ZipCodeEdit" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="10dp" 
     android:textSize="20sp" 
     android:layout_width="100sp" 
     android:textColor="#9933FF" /> 
    <TextView 
     android:text="Zip Code: " 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/ZipCodeLabel" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="10dp" 
     android:textSize="20sp" /> 
</LinearLayout> 

von der Website sollte wie folgt sein:

enter image description here

was ist los? Es tut uns leid, wenn etwas nicht klar ist oder das Kategorie-Tag falsch ist.

+0

Ihr Layout ist inefficient- auch wirklich dort 0 Grund ist, wie das ein relatives Layout innerhalb eines linear zu je hat keine Geschwister. Ich schlage vor allem vor, dass Sie die Drag-and-Drop-Tools überhaupt nicht verwenden und lernen, wie man Dinge aus reinem Text macht - die Drag-and-Drop-Werkzeuge sind eigentlich langsamer, bringen die Dinge nicht richtig an und haben größere Schmerzen. Sie müssen den Textmodus verwenden, um die Dinge am Ende trotzdem in Ordnung zu bringen. –

+0

@GabeSechan danke für den Vorschlag. Aber wie gesagt, ich bin neu von dieser Welt und versuche mit einem von Microsoft bereitgestellten Beispielcode zu beginnen. – Dillinger

+1

Das hindert Sie nicht daran, die textbasierten Tools zu verwenden. Wirklich alle Drag & Drop-Tools werden Ihnen eine Welt der Schmerzen bringen. Ich mache Android seit 2010, und seit dem ersten Jahr habe ich die Drag & Drop-Sachen nicht mehr angefasst. Außerdem ist jedes Tutorial, das Ihnen nicht das xml der Layouts gibt, zunächst stinkend. –

Antwort

0

Sie sollten LinearLayout, RelativeLayout, FrameLayout und TableLayout ordnungsgemäß für die gewünschten Ausrichtungen verwenden.

Hier ist Ihre Lösung .:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<RelativeLayout 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/relativeLayout1" > 
<EditText 
    android:inputType="number" 
    android:layout_height="wrap_content" 
    android:id="@+id/ZipCodeEdit" 
    android:layout_centerVertical="true" 
    android:layout_marginLeft="10dp" 
    android:textSize="20sp" 
    android:layout_width="100sp" 
    android:textColor="#9933FF" /> 
<TextView 
    android:text="Zip Code: " 
    android:layout_width="match_parent" 
    android:layout_toRightOf="@+id/ZipCodeEdit" 
    android:layout_height="wrap_content" 
    android:id="@+id/ZipCodeLabel" 
    android:layout_centerVertical="true" 
    android:layout_marginLeft="10dp" 
    android:textSize="20sp" /> 
</RelativeLayout> 
</LinearLayout> 

, was Sie falsch taten:

Sie versuchen EditText und Textview nebeneinander innerhalb RelativeLayout auszurichten, aber sie haben schloss die relative Lage genau dort, wo sie begann. , die die EditText und TextView das Kind Blick auf die dort LinearLayout(Vertical)

Da die Textansichten verhalten wie die Kinder von Linear vertikalen Layout macht es keinen Gebrauch von RelativeLayout daher beide Ansichten untereinander auszurichten. Noch eine Sache, wenn Sie das beheben und beide Textansicht innerhalb RelativeLayout setzen, müssen Sie eine Ansicht in Bezug auf die andere ausrichten.

In diesem Fall:

android:layout_toRightOf="@+id/ZipCodeEdit" 

mich, wenn irgendein Problem wissen lassen.

Glücklich Coding

2

Try This

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="25px" 
    android:minWidth="25px" > 

    <EditText 
     android:id="@+id/ZipCodeEdit" 
     android:layout_width="100sp" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="10dp" 
     android:inputType="number" 
     android:textColor="#9933FF" 
     android:textSize="20sp" /> 

    <TextView 
     android:id="@+id/ZipCodeLabel" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="10dp" 
     android:layout_toRightOf="@+id/ZipCodeEdit" 
     android:text="Zip Code: " 
     android:textSize="20sp" /> 
</RelativeLayout> 

</LinearLayout> 
+0

Scheint nicht zu funktionieren, nichts wird geändert. – Dillinger

+0

Das scheint zu funktionieren, danke. Ich nehme also an, dass die Steuerelemente nicht richtig in das 'RelativLayout'-Recht gefüllt sind. – Dillinger

+0

wo 'RelativeLayout' Sie verwenden, beenden Sie es mit' /> 'das scheint nicht Ihr ganzes Layout innerhalb' RelativeLayout' also machen Sie es zu '>' und enden Sie mit '' nach Ihrer Ansicht –

0

Sie sind eine vertikale LinearLayout als Mutter Layout.

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

ändern android:orientation="vertical"-android:orientation="horizontal".

Sie können auch die RelativeLayout entfernen, da sie nicht wirklich benutzt wird (nichts darin).

+0

Ich versuche nur, den Anweisungen der Website zu folgen. Wie auch immer, wenn ich "vertikal" in "horizontal" ändere, verschwinden alle Regler, warum? – Dillinger

+0

Entfernen Sie 'RelativeLayout', ändern Sie dann' android: layout_width' von ZipCode TextView zu 'android: layout_width =" wrap_content "' –

+0

Wenn Sie das folgende Lernprogramm verwenden möchten, muss Ihr Layout-Elternteil ein 'sein RelativeLayout' anstelle von 'LinearLayout'. Es scheint, dass Sie gerade ein 'RelativeLayout' in den Designer gezogen haben, was völlig in Ordnung ist (für verschachtelte Layouts), aber anscheinend nicht das ist, was Sie wollen. Wenn Sie "LinearLayout" in "RelativeLayout" ändern, müssen Sie auch das Attribut "orientation" entfernen, da "RelativeLayout" keine Ausrichtung hat. –

0
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<EditText 
    android:inputType="number" 
    android:layout_height="wrap_content" 
    android:id="@+id/ZipCodeEdit" 
    android:layout_marginLeft="10dp" 
    android:textSize="20sp" 
    android:layout_width="100dp" 
    android:textColor="#9933FF" /> 
<TextView 
    android:text="Zip Code: " 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/ZipCodeLabel" 
    android:layout_marginLeft="10dp" 
    android:textSize="20sp" /> 
</LinearLayout> 

Dies sollte Ihr Problem beheben. Ich erkläre, ob das für dich funktioniert.

Verwandte Themen