通过在

时间:2016-07-21 12:12:27

标签: android android-layout android-recyclerview relativelayout

我在顶部有viewpager来滑动和查看图像。并在列表后看到剩余的图像或我要在列表中显示的任何内容,之后我在这个列表下面有一个RelativeLayout,我将用代码填充

现在的问题是: - 我正面临着RecycleView的问题。它工作正常,直到我将relativeLayout添加到parentofbottom并将RecycleView属性设置为此RelativeLayout之上。现在问题是RecycleView根本不滚动。什么错误的代码。需要改变什么。或者建议我实现这种设计的另一种方式

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <RelativeLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:focusableInTouchMode="true"
        android:layout_height="match_parent" >

        <RelativeLayout
            android:id="@+id/relativeHeader"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:background="@color/headecolor" >

            <Button
                android:id="@+id/btnOpenDrawer"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:background="@drawable/menu_icon" />

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:background="@drawable/alert_icon" />

            <TextView
                android:id="@+id/txtTitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:textStyle="bold"
                android:text="A La Une"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="@color/blackColor" />
        </RelativeLayout>

        <android.support.v4.widget.NestedScrollView
        android:id="@+id/scroler"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/relativeHeader"
        android:fillViewport="true"
        android:background="@android:color/white" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:focusableInTouchMode="true"
            android:background="@android:color/white" >

            <RelativeLayout
                android:id="@+id/relativeLayout1"
                android:layout_width="wrap_content"
                android:descendantFocusability="blocksDescendants"
                android:layout_height="wrap_content" >

                <RelativeLayout
                    android:id="@+id/rlPager"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <egdigital.alpes1.view.WrapContentViewPager
                        android:id="@+id/view_pager"
                        android:layout_width="match_parent"
                        android:layout_height="220dp"
                        android:adjustViewBounds="true"
                        android:background="@drawable/news_img_transparent"
                        />

                    <ImageView
                        android:id="@+id/imageView_dot"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_alignBottom="@+id/view_pager"
                        android:layout_alignParentLeft="true"
                        android:src="@drawable/scroll_dot1" />

                </RelativeLayout>

            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/rlRecycle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/relativeLayout1"
                android:layout_above="@+id/rlMiniPlayer"
                >

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clipToPadding="false"
                android:paddingBottom="80dp">
            </android.support.v7.widget.RecyclerView>
                </RelativeLayout>
            <RelativeLayout
                android:id="@+id/rlMiniPlayer"
                android:layout_width="match_parent"
                android:layout_height="80dp"
                android:layout_alignParentBottom="true"
                >
            </RelativeLayout>

        </RelativeLayout>
    </android.support.v4.widget.NestedScrollView>
    </RelativeLayout>

    <fragment
        android:id="@+id/navigation_drawer"
        android:name=".NavigationDrawerFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:layout_marginLeft="25dp"
        tools:layout="@layout/fragment_navigation_drawer" />

</android.support.v4.widget.DrawerLayout>

2 个答案:

答案 0 :(得分:0)

1)改变

android:layout_below="@+id/relativeLayout1"android:layout_below="@id/relativeLayout1"并更改您拥有的其他任何地方layout_belowlayout_above

创建新+时会使用

id。在提供已创建的id时,我们会在不使用+

的情况下使用它

2)您真的不需要身份RelativeLayout的{​​{1}}。您可以直接将rlRecyclelayout_below属性移至layout_above,因为它已经位于顶级RecyclerView

答案 1 :(得分:0)

我找到了解决方案。我知道有很多额外的RelativeLayouts。知道我删除了它。并在嵌套的scrollview下面放置rlMiniPlayer 因为我使用的是nestedscrolling = true。在代码中。这是在创造问题

喜欢这样: -

</android.support.v4.widget.NestedScrollView>
        <RelativeLayout
            android:id="@+id/rlMiniPlayer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            >
        </RelativeLayout>