如何创建带有应用列表的移动首页之类的内容?

时间:2019-07-11 08:03:08

标签: android xml

enter image description here我想创建类似我们的手机主屏幕布局的东西,其中有很多应用程序都有其名称(包括图像按钮下方的文字)。我怎样才能做到这一点?我不要图像后面的灰色背景。有什么办法可以删除它?

我尝试使用GridView,但由于尝试使用Imagebutton,我不太喜欢按钮周围的大框。另外,我不能将layout_weightGridView一起使用。

这就是我所拥有的:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        >

    <ImageButton
            android:id="@+id/gallery_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/Attach_Gallery"
            android:layout_weight="1"

            />
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text=""/>
    <ImageButton
            android:id="@+id/Camera_Button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/Attach_Camera"
            android:layout_weight="1"/>
    <ImageButton
            android:id="@+id/"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/Attach_Gallery"
            android:layout_weight="1"/>
    <ImageButton
            android:id="@+id/gallery_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/Attach_Gallery"
            android:layout_weight="1"/>
</LinearLayout>

我希望文本可以在每个图像按钮下方,并且我还希望2x4图表中包含图像按钮和文本。

1 个答案:

答案 0 :(得分:0)

您还可以使用Recycler View在主屏幕的Layout XML上添加Recycler视图, 您还必须在应用程序级别的build.gradle文件中添加回收者视图依赖项

implementation 'com.android.support:recyclerview-v7:28.0.0'

您可以创建“简单列表”视图,“交错布局”以及“网格布局”。

<android.support.v7.widget.RecyclerView
    android:id="@+id/rv_summary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchMode="columnWidth"
    android:numColumns="3"/>

之后,您必须为回收站视图创建一个自定义适配器。

  RecyclerView.LayoutManager layoutManager1 = new GridLayoutManager(getContext(), 3);
    rvSummary.setLayoutManager(layoutManager1);
    rvSummary.setAdapter(alarmSummaryAdapter);