2016-10-10 4 views
2

Ich habe einen RelativeLayout-Container, der nicht den unteren Bildschirmrand erreicht und auch nicht die linke Seite des Bildschirms erreicht (es gibt eine kleine weiße Linie am Ende des RealtiveLayout) ..RelativeLayout führt "match_parent" und alignBottom nicht aus

enter image description here

ist die Layout-XML-Datei:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_marginStart="-17dp" 
    android:layout_marginLeft="0dp" 
    android:layout_marginEnd="-16dp" 
    android:layout_marginRight="0dp" 
    android:layout_marginBottom="-17dp" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:background="#f2f2f2" 
    android:orientation="vertical" 
    tools:context=".ListMessageScreen"> 

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

     <ListView 
      android:id="@+id/list_messages" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:scrollbarStyle="outsideOverlay" 
      android:layout_marginEnd="2dp" 
      android:layout_marginRight="0dp" /> 

    </LinearLayout> 


    <RelativeLayout 
     android:id="@+id/my_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_marginEnd="0dp" 
     android:layout_marginRight="0dp" 
     android:layout_marginStart="-16dp" 
     android:layout_marginLeft="0dp"> 

     <TextView 
      android:layout_height="match_parent" 
      android:layout_width="200dp" 
      android:background="#ff1a1a" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentLeft="true" 
      android:clickable="true" 
      android:gravity="center" 
      android:text="@string/messages_screen_left_button" 
      android:textAllCaps="false" 
      android:textColor="#ffffff" 
      android:textSize="18sp"> 
     </TextView> 

     <TextView 
      android:layout_height="match_parent" 
      android:layout_width="200dp" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:background="#ff1a1a" 
      android:clickable="true" 
      android:gravity="center" 
      android:text="@string/messages_screen_right_button" 
      android:textAllCaps="false" 
      android:textColor="#ffffff" 
      android:textSize="18sp"> 
     </TextView> 

    </RelativeLayout> 

</LinearLayout> 

jemand eine Idee über Hat warum ist das passiert? Ich habe bis jetzt so viele Möglichkeiten ausprobiert. Der nächste, dem ich kam, war das Hinzufügen von "android: layout_marginBottom =" - 17dp "" zum root LinearLayout, aber selbst wenn ich dies gemacht habe, habe ich immer noch das Problem bezüglich match_parent des RelativeLayout ..

Ich bin ein bisschen verloren. Könnte mir bitte jemand helfen? Vielen Dank im Voraus, SO Community!

+1

Sie haben im äußersten 'LinearLayout' Padding angegeben. Das 'RelativeLayout' befindet sich in diesem Bereich, daher wird das Padding zwischen dem' RelativeLayout' und dem Bildschirm verwendet. Außerdem hat Ihr äußerstes 'LinearLayout'' android: layout_width = "wrap_content" ', aber Sie sollten wahrscheinlich' android: layout_width = "match_parent" 'verwenden, damit es die gesamte Bildschirmbreite einnimmt. –

+1

Es war so offensichtlich ... das Padding, das du erwähntest, verursachte mir eine Menge Ärger. Ich habe hier einen Test gemacht, und ich habe gerade "layout_marginEnd" auf "-17dp" konfiguriert und es hat funktioniert. Es macht auch Sinn Ihr Punkt über die layout_width, aber die Tatsache ist, dass der "match_parent" Parameter für die äußerste LinearLayout, nicht den ganzen Bildschirm genommen, auch wenn ich "match_parent" für die RelativeLayout verwenden. In der Tat, das Padding für das Root LinearLayout, war meine Kopfschmerzen. Vielen Dank :)! – codermx

+0

Cool! Hinzugefügt als Antwort. –

Antwort

1

Sie haben eine Polsterung in der äußersten LinearLayout angegeben. Die RelativeLayout ist innerhalb dieser, so dass die Polsterung zwischen dem RelativeLayout und dem Bildschirm verwendet wird. Auch Ihre äußerste LinearLayout hat android:layout_width="wrap_content", aber Sie sollten wahrscheinlich android:layout_width="match_parent" verwenden, so dass es die gesamte Bildschirmbreite einnimmt.

+1

In Bezug auf Ihre Antwort hat mich das Padding vom äußersten LinearLayout erledigt ... Danke :)! – codermx

Verwandte Themen