2016-08-12 3 views
-2

Ich habe dieses Layout, das Titel, zwei Schnipsel von Informationen über das Thema (Telefon und Adresse) zeigt, und darunter ist ein lineares Layout, das zwei Schaltflächen enthält. Diese beiden Buttons sind nur anklickbar, wenn ich auf ihre Oberseite klicke. Wenn ich auf den unteren Teil klicke, wird das gesamte Fenster ausgewählt, wenn ich auf den oberen Teil klicke, wird der Knopf ausgewählt. Ich habe versucht, die Polsterung des Ganzen zu reparieren, aber das hat nicht geholfen. Ich würde gerne wissen, was ich hier falsch mache.LinearLayout nur halbwegs anklickbar

Hier ist der XML-Datei:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:gravity="center_vertical" 
android:layout_margin="16dp"> 

<TextView 
    android:id="@+id/title" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Title" 
    android:textSize="22sp" 
    android:textStyle="bold" 
    android:textColor="@color/white" 
    android:gravity="center_horizontal" 
    android:paddingTop="8dp" 
    android:paddingBottom="8dp" 
    android:background="@color/blue_dialog" 
    style="@style/BoldStyle" /> 

<TextView 
    android:id="@+id/description" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="snippet" 
    android:layout_gravity="center" 
    android:textSize="16sp" 
    android:maxLines = "2" 
    android:minLines="1" 
    android:ellipsize="end" 
    android:layout_margin="8dp" 
    android:textAlignment="viewStart" 
    style="@style/RegularStyle"/> 

<TextView 
    android:id="@+id/telephone" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="snippet" 
    android:layout_gravity="center" 
    android:layout_centerVertical="true" 
    android:textSize="16sp" 
    android:layout_margin="8dp" 
    android:drawableLeft="@drawable/phone" 
    android:drawablePadding="8dp" 
    android:gravity="center" 
    android:textAlignment="viewStart" 
    style="@style/RegularStyle"/> 

<TextView 
    android:id="@+id/address" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="snippet" 
    android:layout_centerVertical="true" 
    android:textSize="16sp" 
    android:layout_margin="8dp" 
    android:drawableLeft="@drawable/contacts" 
    android:drawablePadding="8dp" 
    android:layout_gravity="center" 
    android:gravity="center" 
    android:textAlignment="viewStart" 
    style="@style/RegularStyle"/> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:gravity="center" 
    android:layout_gravity="center" 
    android:layout_marginBottom="16dp"> 

    <Button 
     android:id="@+id/buttonOffers" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Offers" 
     android:background="@color/blue_dialog" 
     android:textAllCaps="false" 
     android:layout_marginRight="8dp" 
     android:textSize="18sp" 
     android:padding="8dp" 
     android:layout_gravity="center" 
     android:textColor="@color/white" 
     style="@style/BoldStyle"/> 

    <Button 
     android:id="@+id/buttonViewMore" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="View More" 
     android:background="@color/blue_dialog" 
     android:textAllCaps="false" 
     android:textSize="18sp" 
     android:padding="8dp" 
     android:layout_gravity="center" 
     android:textColor="@color/white" 
     style="@style/BoldStyle"/> 

</LinearLayout> 

Dies ist ein einfaches Beispiel dafür, was meiner Meinung nach ist. Unterhalb der roten Linie sind die Tasten nicht anklickbar.

Antwort

1

Innen verschachtelt Linearlayout Sie haben

android:layout_marginBottom="16dp">

Und Tasten haben Polsterungen.

Entfernen Sie sowohl marginBottom und Padding - vielleicht wird dies helfen.

+0

Vielen Dank für Ihre Antworten. Nachdem ich den unteren Rand und die Polsterung entfernt habe, denke ich, dass es ein bisschen besser reagiert, aber es reagiert immer noch nicht wie es sein sollte. –

1

Können Sie eine einfache Zeichnung von dem, was Sie & erreichen wollen?

Darüber hinaus sagen Sie Ihre verschachtelten Layout, um es sich selbst relativ zu seiner Mutter zu zentrieren. Versuchen Sie,

android:layout_gravity="center" 

aus dem verschachtelten Layout zu entfernen.

Zusätzlich erinnern diese Definitionen:

  1. android: Schwerkraft setzt die Schwere des Inhalts der Ansicht seiner verwendeten auf.
  2. android: layout_gravity legt den Schweregrad der Ansicht oder des Layouts in dessen Elternteil fest.

@Edit

Ihr Code erscheint vernünftig ok zu Ihrem Ziel in Bezug auf. Versuchen Sie, diese auf Ihrem verschachteltes Linearlayout, das die Schaltfläche enthielt

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

    <Button 
     android:id="@+id/buttonOffers" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginRight="8dp" 
     android:background="@color/blue_light" 
     android:text="Offers" 
     android:textAllCaps="false" 
     android:textColor="@color/white" 
     android:textSize="18sp"/> 

    <Button 
     android:id="@+id/buttonViewMore" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:background="@color/orange" 
     android:text="View More" 
     android:textAllCaps="false" 
     android:textColor="@color/white" 
     android:textSize="18sp"/> 

</LinearLayout> 

@Edit 2

Try

android:paddingBottom="30dp" 

das verschachtelte Linearlayout hinzu:

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:paddingBottom="30dp" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/buttonOffers" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginRight="8dp" 
      android:background="@color/blue_light" 
      android:text="Offers" 
      android:textAllCaps="false" 
      android:textColor="@color/white" 
      android:textSize="18sp"/> 

     <Button 
      android:id="@+id/buttonViewMore" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:background="@color/orange" 
      android:text="View More" 
      android:textAllCaps="false" 
      android:textColor="@color/white" 
      android:textSize="18sp"/> 

    </LinearLayout> 
+0

[This] (http://i.imgur.com/UsRnAdV.png) ist im Grunde die Ansicht. Unterhalb der Linie sind die Tasten nicht anklickbar. –

+0

Und die Linie repräsentiert das Zentrum des LinearLayout, das sie enthält, richtig? –

+0

Die Zeile zeigt an, wo die Schaltflächen anklickbar werden. Es ist nur zufällig in der Mitte. –

Verwandte Themen