如何在Android中安装灵活的按钮?

时间:2016-02-10 16:18:42

标签: android button layout alignment

你好问题可能很难理解,但我会尽我所能。      首先,这是代码

    <Linear
android:id="@+id/interestLayout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_below="@+id/layout_roots"

android:background="#e0e0e0">

<Button
    android:id="@+id/dancing"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:background="@drawable/ruhesi_buttondesigns"
    android:onClick="toggling"
    android:text="@string/dancing"
    android:textColor="#FF4444" />

<Button
    android:id="@+id/cooking"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_alignTop="@+id/dancing"
    android:layout_marginLeft="10dp"
    android:layout_toEndOf="@+id/dancing"
    android:layout_toRightOf="@+id/dancing"
    android:background="@drawable/ruhesi_buttondesigns"
    android:onClick="toggling"
    android:text="@string/cooking"
    android:textColor="#FF4444" />

<Button
    android:id="@+id/painting"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_marginLeft="10dp"
    android:layout_toRightOf="@+id/cooking"
    android:layout_toEndOf="@+id/cooking"
    android:background="@drawable/ruhesi_buttondesigns"
    android:onClick="toggling"
    android:text="@string/painting"

    android:textColor="#FF4444" />

<Button
    android:id="@+id/playing_instruments"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_marginLeft="10dp"
    android:layout_toRightOf="@+id/painting"
    android:layout_toEndOf="@+id/painting"
    android:background="@drawable/ruhesi_buttondesigns"
    android:onClick="toggling"
    android:text="@string/playing_instruments"
    android:textColor="#FF4444" />
<Button
    android:id="@+id/pets"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_toRightOf="@+id/playing_instruments"
    android:layout_toEndOf="@+id/playing_instruments"
    android:layout_marginLeft="10dp"
    android:background="@drawable/ruhesi_buttondesigns"
    android:onClick="toggling"
    android:text="@string/playing_instruments"
    android:textColor="#FF4444" />
    </Linear>

所以这给我生成了这张照片: Located

因此,我们现在每个设备都有不同的屏幕尺寸,因此在大型设备中可能所有这些按钮都会在一行中排列,但在较小的屏幕中我希望按钮被分配(例如,最后一个按钮不可见它应该去到下面)。所以在一行中第二行可以有3个按钮,可以有2个按钮取决于按钮的文本,下一行可能还有3个按钮。我们如何才能提供这种灵活性?

1 个答案:

答案 0 :(得分:0)

Android的库存布局都没有提供此行为,但有多个库可以实现此目的,例如:https://github.com/ApmeM/android-flowlayout

他们的github页面有关于如何使用它的说明,最重要的是你可以实现自己的布局管理器,但它有点复杂。

如果你使用谷歌FlowLayout Android,你会发现更多信息。

如果您不需要这种灵活性,您还可以针对不同的屏幕尺寸提供不同的布局,您可以阅读更多相关信息here