什么Android布局允许包裹块/按钮 - 而不是奇怪的拉伸?

时间:2013-02-03 20:44:34

标签: android android-layout

我想找到合适的布局来包装按钮而不是奇怪的拉伸。

我得到的一些例子是:

invalid wrap

我想要实现的目标:

valid wrap

请帮助并解释在Android中是否可以在HTML5中轻松实现 - 我在考虑ScrollView但不确定是否需要它。我搜索了许多页面,但没有找到好的解决方案,认为这是微不足道的,但不知道答案。

这是当前代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        tools:ignore="HardcodedText" />

    <Button
        android:id="@+id/btn_goHome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/button1"
        android:text="@string/button_go_home" />

    <Button
        android:id="@+id/btn_openEmails"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btn_goHome"
        android:text="@string/button_open_emails" />

    <Button
        android:id="@+id/btn_openTests"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btn_openEmails"
        android:text="Open tests" />

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/btn_openTests"
        android:layout_centerHorizontal="true" >

        <LinearLayout
            android:id="@+id/list1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="?android:dividerHorizontal"
            android:orientation="vertical"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:showDividers="middle" >

        </LinearLayout>
    </ScrollView>

</RelativeLayout>

1 个答案:

答案 0 :(得分:2)

我会推荐那个男人自己创造的FlowLayout - 罗曼盖伊。我认为它会完全符合您的要求。

以下是实施:Android Layouts.zip

这是他原来的帖子:How can I do something like a FlowLayout in Android?

可在此处找到替代实施:FlowLayout in Android

最后,您在GitHub上使用BSD许可证实现了ApmeM / android-flowlayout。有截图和文档可以让你快速前进。