如何在Android上并排制作按钮和彩色矩形?

时间:2018-07-30 23:39:52

标签: android gridview view alignment

我试图并排制作一个按钮和一个彩色矩形。我不确定是否需要使用线性布局,网格布局或其他方式执行此操作。这是我尝试过的:

<android.support.v7.widget.GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_row="0"
            app:layout_column="0"
            android:text="Button" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_row="1"
            app:layout_column="0"
            android:text="Button" />

        <View
            android:id="@+id/view"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:background="@android:color/holo_blue_bright"
            app:layout_column="1"
            app:layout_gravity="fill"
            app:layout_row="0" />

        <View
            android:id="@+id/view1"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:background="@android:color/holo_green_dark"
            app:layout_column="1"
            app:layout_gravity="fill"
            app:layout_row="1" />
    </android.support.v7.widget.GridLayout>

这将产生以下图像:enter image description here

顶部看起来正确。我想要旁边有一个同样细的矩形的细按钮。我无法解决问题。最有效的方法是这样做,最好是可以以编程方式添加新行(从2行开始并添加更多行)。

1 个答案:

答案 0 :(得分:0)

当前,要实现您想要的目标,请使用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp">

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />


        <View
            android:id="@+id/view"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/holo_blue_bright" />
    </LinearLayout>


    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp">

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


        <View
            android:id="@+id/view1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/holo_blue_bright" />
    </LinearLayout>


</LinearLayout>

我建议使用RecyclerView,您可以在其中以编程方式为项目视图充气并将信息绑定到该视图。 RecyclerView为您管理所有新物品的通货膨胀和增加。 您可以按照此tutorial进行设置。

您可以阅读有关如何实现此目标的信息,这就是列表项的外观

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp">

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />


        <View
            android:id="@+id/view"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/holo_blue_bright" />

</LinearLayout>