2016-04-06 4 views
0

Wie kann ich die LinearLayout Artikel Höhe auf gleiche setzen. Ich habe mit RelativeLayout versucht, kann aber keinen Erfolg haben. Irgendeine Idee, wie ich es machen kann? Tyvm für jede HilfeSo stellen Sie Textview, Edittext und die Höhe der Schaltfläche ein, um auf Linearlayout gleich zu sein

<LinearLayout 
    android:background="@color/red" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:weightSum="11"> 

    <TextView 
     android:id="@+id/lblParca" 

     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="5.5" 
     android:text="Parça Kodu" 
     android:textSize="15dp" /> 

    <EditText 
     android:id="@+id/txthldMalzemeKodu" 
     style="@style/DefaultEditTextSmall" 
     android:layout_width="0dip" 
     android:layout_weight="4.5" 
     android:layout_height="wrap_content" 
     android:inputType="textCapCharacters" 
     android:singleLine="true" /> 

    <ImageButton 
     android:id="@+id/btnhldgetMalzeme" 
     style="@style/btnStyleBreakerBay" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:src="@mipmap/ic_ara" /> 
</LinearLayout> 

Das ist, was ich habe:

enter image description here

+0

Einstellwert für die Höhe? – hehe

+0

Was möchten Sie genau machen? Sagen Sie mir, was Sie brauchen, und ich werde Ihnen die gute XML-Datei zur Verfügung stellen. – Aspicas

+0

Der einfachste Weg besteht darin, feste Höhen für alles festzulegen (zB 'android: layout_height =" 56dp "') 'und' layout_gravity') – PPartisan

Antwort

0

Wenn Sie mit Aspicas Antwort zufrieden sind, kann das Layout nur

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:background="@color/red" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/lblParca" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="center_vertical" 
     android:layout_weight="0.40" 
     android:text="Parça Kodu" /> 

    <EditText 
     android:id="@+id/txthldMalzemeKodu" 
     style="@style/DefaultEditTextSmall" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.40" 
     android:inputType="textCapCharacters" 
     android:singleLine="true"/> 

    <ImageButton 
     android:id="@+id/btnhldgetMalzeme" 
     style="@style/btnStyleBreakerBay" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.20" 
     android:scaleType="centerInside" 
     android:src="@mipmap/ic_ara"/> 
</LinearLayout> 
vereinfacht werden

Es müssen nicht alle Wrapper vorhanden sein. Beachten Sie auch die Änderung an Ihrem TextView mit gravity anstelle von layout_gravity, um Ihren Inhalt zu zentrieren. Ich bin wirklich überrascht, dass dies funktioniert, von meinem Verständnis her sollte dies die Höhe der Ansichten ausdehnen, anscheinend lag ich falsch in diesem Denken.

+0

Sie haben recht, es gibt keine Notwendigkeit, alle Wrapper zu haben, aber normalerweise müssen Sie Ihr Design innerhalb 'Linear_Layouts' ändern, dann müssen Sie alle Elemente modifizieren, wenn Sie nicht in einem anderen' LinearLay' sind. Auf diese Weise müssen Sie, wenn Sie etwas modifizieren müssen, nur innerhalb des LinearLayouts wechseln, das Sie benötigen, ohne andere zu ändern, aber ... ja, Ihre Antwort funktioniert sicher auch. – Aspicas

+0

Korrigieren Sie mich, wenn ich falsch liege, bitte. – Aspicas

+0

@Aspicas Sie sind nicht falsch, aber Sie sollten vermeiden, externen Code zu implementieren, bis Sie es brauchen. Wenn zu irgendeinem Zeitpunkt ein Teil des Inhalts einen Wrapper benötigt, ist dies eine einfache Lösung, um die Wrapper zu vermeiden, wenn Sie sie nicht benötigen. Sie haben nicht Unrecht, und ich bin nicht unbedingt richtig, es ist nur, wie Sie Ihren Code verwalten möchten. – zgc7009

0

Sie müssen die gleiche Höhe für alle Ansichten einzurichten. Entweder Sie tun dies:

android:layout_height="match_parent" 

oder

android:layout_height="some value" 
0

Sie können versuchen, android:layout_weight="1" für alle Ansichten zu verwenden, und setzen android:layout_height="0"

Link auf Dokumentation.

+0

Ich benutze bereits" android: layout_weight " –

0

Versuchen mit diesem xml file

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:background="@color/red" 
    android:orientation="horizontal" 
    android:weightSum="11"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="center_vertical" 
      android:layout_weight="0.40" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/lblParca" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:text="Parça Kodu" 
       /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="0.40" 
      android:orientation="horizontal"> 

      <EditText 
       android:id="@+id/txthldMalzemeKodu" 
       style="@style/DefaultEditTextSmall" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:inputType="textCapCharacters" 
       android:singleLine="true"/> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="0.20" 
      android:orientation="horizontal"> 

      <ImageButton 
       android:id="@+id/btnhldgetMalzeme" 
       style="@style/btnStyleBreakerBay" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:src="@mipmap/ic_ara"/> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 
+0

Tyvm Aspicas das ist es –

+0

Ich bin froh zu hören. Kein Problem, keine Frage .. ich bin [email protected] – Aspicas

0

Eine Möglichkeit ist die Elternlinearlayout Höhe zu codieren.

anderer Weg ist, für jedes der Elemente 3 Linear-Layout nehmen & in jedem Linearlayout
gesetzt

android:layout_gravity="center_vertical"