【问题标题】:How can I make two columns with a RecylcerView?如何使用 RecyclerView 制作两列?
【发布时间】:2017-08-02 18:57:46
【问题描述】:

我是 Android 编程新手。 我创建了一个音板,如下所示: https://gyazo.com/2a08bcd731fb1cfeb07e72f75bc05e7e

但我不明白如何使用RecyclerView 做到这一点。 这是 2 列只有 3 行的代码(通常有 200 行):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background2"
    android:orientation="vertical"
    android:layout_marginTop="50dp">


    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <GridLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <Button
                android:id="@+id/button1"
                android:layout_weight = "1"
                android:layout_height="100dp"
                android:layout_column="0"
                android:layout_columnWeight="1"
                android:layout_rowWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button1"
                android:padding="3dp"
                android:text="Button1"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button2"
                android:layout_weight = "1"
                android:layout_height="100dp"
                android:layout_column="0"
                android:layout_columnWeight="1"
                android:layout_rowWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"                       
                android:background="@drawable/mybutton"
                android:onClick="Button2"
                android:padding="5dp"
                android:text="Button2"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button3"
                android:layout_weight = "1"
                android:layout_height="100dp"
                android:layout_column="0"
                android:layout_column="1"
                android:layout_row="1"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button3"
                android:padding="5dp"
                android:text="Button3"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button4"
                android:layout_weight = "1"
                android:layout_height="100dp"
                android:layout_column="0"
                android:layout_column="0"
                android:layout_row="1"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button3"
                android:padding="5dp"
                android:text="Button4"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button5"
                android:layout_weight = "1"
                android:layout_height="100dp"
                android:layout_column="0"
                android:layout_column="0"
                android:layout_row="2"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button5"
                android:padding="5dp"
                android:text="Button5"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button6"
                android:layout_weight = "1"
                android:layout_height="100dp"
                android:layout_column="0"
                android:layout_column="1"
                android:layout_row="2"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button6"
                android:padding="5dp"
                android:text="Button6"
                android:textColor="#ffffff"
                android:textSize="20dp" />

    </GridLayout>

</ScrollView>

如何使用RecyclerView 和适配器来做到这一点?我读了很多教程,但我不明白。如何制作 2 列?是否有一个很好的教程来解释这种情况? 或者有人可以向我解释吗? 声音不会从数据库中取出。

【问题讨论】:

    标签: java android xml eclipse android-recyclerview


    【解决方案1】:

    使用 RecyclerView,视图的元素根据您连接到 RecyclerView 实例的 LayoutManager 进行布局。如果您希望将元素布置在 2 列网格中,可以使用 GridLayoutManager

    根据文档,您可以使用构造函数创建具有 N 列的新 GridLayoutManager:new GridLayoutManager(context,N);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多