2017-11-28 2 views
1

Ich mag dieses Tasten-Layoutüberlappende Tasten

enter image description here

i

  <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_weight="0.5" 
       android:lay="10dp"> 
       <View android:id="@+id/strut" 
        android:layout_width="0dp" 
        android:layout_height="0dp" 
        android:layout_centerHorizontal="true"/> 

       <Button 
        android:id="@+id/button4" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignRight="@id/strut" 
        android:layout_alignParentLeft="true" 
        android:background="@drawable/notificacion_desactivado" /> 
       <Button 
        android:id="@+id/button6" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignLeft="@id/strut" 
        android:layout_alignParentRight="true" 
        android:background="@drawable/alarma_desactivada" /> 
       <Button 
        android:id="@+id/button5" 
        android:layout_width="100dp" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="dp" 

        android:background="@drawable/icono_notificacion_suelto" /> 

      </RelativeLayout> 

tat zu schaffen, und ich habe jetzt so etwas wie diese: enter image description here aber nicht wissen, wie die zentralen zu machen Um das relative Layout zu überlappen, habe ich Rand und Padding verwendet, kann aber die Schaltfläche nicht über das Layout bewegen.

+0

Zu viel Ebenenverschachtelung. Ein einzelnes RelativeLayout ist genug. –

+0

Setzen Sie einfach eine zentrale Dummy-Ansicht (0px breit und hoch). Setzen Sie eine Taste nach links und eine weitere nach rechts. Und schließlich noch eins in der Mitte. ERLEDIGT. –

+1

ja, das war die lösung, sehr viel! – El0din

Antwort

1

So können Sie dies mit einem ConstraintLayout tun. Platzieren Sie die zwei Tasten, die unterhalb der 3. Taste innerhalb einer LinearLayout erscheinen müssen, und legen Sie die 3. Taste entsprechend fest.

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:id="@+id/buttonLayout" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="38dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:orientation="horizontal" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent"> 

     <Button 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"/> 

     <Button 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 

    </LinearLayout> 

    <Button 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     app:layout_constraintEnd_toEndOf="@id/buttonLayout" 
     app:layout_constraintStart_toStartOf="@id/buttonLayout" 
     app:layout_constraintBottom_toBottomOf="@id/buttonLayout" 
     app:layout_constraintTop_toTopOf="@id/buttonLayout" 
     android:layout_marginBottom="30dp" 
     android:background="@color/colorAccent"/> 

</android.support.constraint.ConstraintLayout> 

Dies ist, wie die Ausgabe wie

enter image description here

Ändern Sie den Wert android:layout_marginBottom aussehen wird die 3. Taste nach oben oder unten zu bewegen.

Hoffe, das hilft!

+1

Funktioniert gut, danke! – El0din

+0

funktioniert und upvote Ihre Antwort – El0din

+0

@ El0din Ich sehe, dass Sie dies für keine der Fragen getan haben, die Sie bis jetzt gefragt haben; aber normalerweise akzeptiert man eine Antwort als Lösung, indem man das Häkchen neben der Antwort anklickt. ** Dies ** markiert die Antwort als Lösung und hilft auch künftigen Nutzern. –

1
This code works for me :) 
<RelativeLayout android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <View android:id="@+id/strut" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:layout_centerHorizontal="true"/> 

    <Button 
     android:id="@+id/button4" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_alignRight="@id/strut" 
     android:layout_alignParentLeft="true" 
     android:background="@color/text_gray" /> 
    <Button 
     android:id="@+id/button6" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_alignLeft="@id/strut" 
     android:layout_alignParentRight="true" 
     android:background="@color/red" /> 
    <Button 
     android:id="@+id/button5" 
     android:layout_width="60dp" 
     android:layout_height="60dp" 
     android:layout_centerHorizontal="true" 
     android:background="@drawable/app_logo_main" /> 

</RelativeLayout> 
+0

nice solution, aber wenn ich auf den linken oder rechten Button klicken überspringt die zentrale. Aber das funktioniert für mich, vielen Dank! – El0din

+0

Ihr Willkommen mein Vergnügen, schlage ich vor, dass Sie textview anstelle der Schaltfläche verwenden, damit Sie Ihre Ansicht anpassen können :) –

+0

textview ja, das ist die Antwort auf meine App, ich werde auf die nächste Version, wirklich danke! – El0din