Android设计自定义视图

时间:2017-01-27 17:04:06

标签: android listview gridview android-recyclerview

美好的一天,

我正在处理一个应用程序,我想设计下面的视图,我不确定要使用哪个视图。

根据我在Android开发方面的经验,我认为它应该是列表视图或带有自定义标题的recyclerview,我可能错了,但是查看视图可能有人解释我应该使用哪种视图。我有红色箭头表示我在说什么。

我在想一个自定义的可滚动列表视图,并定义了三个箭头所示的项目列表,基本上是三个自定义列表项。

它应该是列表视图还是带有标记为1的箭头的自定义标题的recyclerview。

箭头标记为3.是否是动态填充的网格视图?据我了解,gridview不适用于可滚动的父级,如listview,因为我希望整个视图基于内容滚动,就像在Instagram中一样,这是一个很好的方法来实现这一点。

我来到这里是因为我已经搜索过,实际上找不到任何好的建议

提前致谢

Implement View Like Instagram

1 个答案:

答案 0 :(得分:2)

您似乎在这里不需要一个RecyclerView。您可以使用ViewGroupView的组合。简单的例子:

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

        <!-- Code for 1,2-->

        <!-- Your grid from 3-->
        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </android.support.v7.widget.RecyclerView>

    </RelativeLayout>
</ScrollView>

编辑:

也可以在RecyclerViewsetNestedScrollingEnabled(false)上执行此操作。

这将使您的整个布局可滚动,而高度为RecyclerView的{​​{1}}只会展开(增加整个布局的高度)而无需内部滚动。