0

Ich habe 4 Tasten, die ich gleichmäßig mit layout_weight = "1" und layout_width = "0dp" Abstand. Bei großen Tablet-Layouts sind die Schaltflächen jedoch zu weit auseinander und sehen hässlich aus. Daher möchte ich für alle eine maxWidth festlegen und stattdessen Leerstellen auf beiden Seiten des gesamten LinearLayouts haben (sodass die vier Schaltflächen in der Mitte angeordnet sind)). Beim Crawlen durch StackOverflow sagen jedoch viele, dass sie nicht zusammenarbeiten. Gibt es eine Möglichkeit für mich, das zu erreichen, was ich oben tun möchte?Gleichmäßige Abstand Tasten mit layout_weight, aber mit einer maxWidth

tl; dr:

  1. Unterhalb einer bestimmten Breite (beispielsweise 100dp), alle Tasten 4 sind gleichmäßig beabstandet.
  2. Wenn das Layout Schaltflächen erfordert, die größer als 100 dpi sind, werden alle 4 Schaltflächen auf 100 dpi Breite eingestellt und bleiben zusammen, so dass auf beiden Seiten des Layouts Platz bleibt.

    <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="@dimen/layout_height" 
        android:background="@drawable/layout_background" 
        android:orientation="horizontal"> 
    
    <Button 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="1" 
        android:background="@color/button_background"/> 
    
    <Button 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="1" 
        android:background="@color/button_background"/> 
    
    <Button 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="1" 
        android:background="@color/button_background"/> 
    
    <Button 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="1" 
        android:background="@color/button_background"/> 
    
    </LinearLayout> 
    

Antwort

0

Versuchen Sie, diese

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/layout_height" 
    android:background="@drawable/layout_background" 
    android:orientation="horizontal"> 

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:orientation="horizontal"> 
<Button 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:maxWidth="100dp" 
    android:background="@color/button_background"/> 
</LinearLayout>  

</LinearLayout> 

Ein einfaches Hack

könnte
  1. Wickeln Sie Ihre Taste mit einem Linear-Layout und setzen Gewicht zu diesem Layout

  2. Set maximale Breite zum Knopf innerhalb t sein Unter Layout

0

versucht diese `

<Button 
    android:background="@color/button_background" 
    android:layout_height="match_parent" 
    android:layout_margin="20dp" 
    android:layout_weight="1" 
    android:layout_width="0dp" /> 

<Button 
    android:background="@color/button_background" 
    android:layout_height="match_parent" 
    android:layout_margin="20dp" 
    android:layout_weight="1" 
    android:layout_width="0dp" /> 

<Button 
    android:background="@color/button_background" 
    android:layout_height="match_parent" 
    android:layout_margin="20dp" 
    android:layout_weight="1" 
    android:layout_width="0dp" /> 

<Button 
    android:background="@color/button_background" 
    android:layout_height="match_parent" 
    android:layout_margin="20dp" 
    android:layout_weight="1" 
    android:layout_width="0dp" /> 

`

jede Taste hinzufügen Ränder, wie Sie wollen.

+0

didi Sie erhalten die Antwort? – DKV