代码之家  ›  专栏  ›  技术社区  ›  Alok Raj

ScrollView中的ListView(我的问题不同)

  •  0
  • Alok Raj  · 技术社区  · 6 年前

    我有一个抽屉布局。我已经放置了一个用于滑动图像的ViewPager和用于点的选项卡布局,在我想要一个TextView和一个ListView再要一个TextView和一个ListView之后,它运行了4次。所以,我希望我的整个屏幕可以滚动。问题是,如果我固定ListView应用程序的高度,它是从底部开始的,如果我使用match parent,则列表视图不会滚动,其行为类似于线性布局,并且下面的任何内容都不会显示。如果我在高度中使用包裹内容,则列表视图可以滚动,但列表视图后不会显示任何内容,因为整个屏幕不会滚动。

    主要活动。xml

        <?xml version="1.0" encoding="utf-8"?>
    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:background="#f5f5f5"
        android:id="@+id/drawer"
        android:layout_height="match_parent"
        tools:context="com.tollywood2bollywood.t2bliveapp.HomeActivity">
    
        <ScrollView
            android:layout_width="match_parent"
            android:fillViewport="true"
            android:layout_height="match_parent">
    
                <LinearLayout
                    android:layout_width="match_parent"
                    android:orientation="vertical"
                    android:layout_height="match_parent">
    
                    <!--ViewPager for sliding Image-->
                    <android.support.v4.view.ViewPager
                        android:layout_width="match_parent"
                        android:layout_height="270dp"
                        android:id="@+id/top_stories_pager">
                    </android.support.v4.view.ViewPager>
    
                    <!--For dots used in scrollable image-->
                    <android.support.design.widget.TabLayout
                        android:layout_width="match_parent"
                        android:id="@+id/tab_layout"
                        app:tabBackground="@drawable/tab_selector"
                        app:tabGravity="center"
                        app:tabIndicatorHeight="0dp"
                        android:layout_height="wrap_content"/>
    
                    <!--List View Starts -->
    
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/recent_stories"
                        android:layout_marginTop="5dp"
                        android:layout_marginStart="3dp"
                        android:text="RECENT STORIES"/>
    
                    <ListView
                        android:layout_width="match_parent"
                        android:id="@+id/recent_stories_listview"
                        android:layout_height="wrap_content"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="ENTERTAINMENT"
                        android:layout_marginTop="5dp"
                        android:layout_marginStart="3dp"/>
                    <ListView
                        android:layout_width="match_parent"
                        android:id="@+id/entertainment_listview"
                        android:layout_height="match_parent"/>
                </LinearLayout>
        </ScrollView>
    
        <!--Navigation Drawer setting-->
        <android.support.design.widget.NavigationView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            app:itemTextColor="@color/colorPrimaryDark"
            app:itemIconTint="@color/colorPrimaryDark"
            app:menu="@menu/drawermenu"
            android:layout_gravity="start"
            android:background="#fff">
        </android.support.design.widget.NavigationView>
    
    </android.support.v4.widget.DrawerLayout>
    

    如果我使用的是上面的xml,那么下面的Entertainment TextView和List View不会显示。请帮忙。我正在制作一个新闻应用程序。

    3 回复  |  直到 6 年前
        1
  •  2
  •   MJM    6 年前

    更改 ScrollView 具有 NestedScrollView ListView 具有 RecyclerView

    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:background="#f5f5f5"
            android:id="@+id/drawer"
            android:layout_height="match_parent"
            tools:context="com.tollywood2bollywood.t2bliveapp.HomeActivity">
    
            <NestedScrollView
                android:layout_width="match_parent"
                android:fillViewport="true"
                android:layout_height="match_parent">
    
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:orientation="vertical"
                        android:focusableInTouchMode="true"
                        android:layout_height="match_parent">
    
                        <!--ViewPager for sliding Image-->
                        <android.support.v4.view.ViewPager
                            android:layout_width="match_parent"
                            android:layout_height="270dp"
                            android:id="@+id/top_stories_pager">
                        </android.support.v4.view.ViewPager>
    
                        <!--For dots used in scrollable image-->
                        <android.support.design.widget.TabLayout
                            android:layout_width="match_parent"
                            android:id="@+id/tab_layout"
                            app:tabBackground="@drawable/tab_selector"
                            app:tabGravity="center"
                            app:tabIndicatorHeight="0dp"
                            android:layout_height="wrap_content"/>
    
                        <!--List View Starts -->
    
                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:id="@+id/recent_stories"
                            android:layout_marginTop="5dp"
                            android:layout_marginStart="3dp"
                            android:text="RECENT STORIES"/>
    
                        <RecyclerView
                            android:layout_width="match_parent"
                            android:clipToPadding = "false"
                            android:paddingBottom = "50dp"
                            android:id="@+id/recent_stories_listview"
                            android:layout_height="wrap_content"/>
                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="ENTERTAINMENT"
                            android:layout_marginTop="5dp"
                            android:layout_marginStart="3dp"/>
                        <RecyclerView
                            android:layout_width="match_parent"
                            android:id="@+id/entertainment_listview"
                            android:clipToPadding = "false"
                            android:paddingBottom = "50dp"
                            android:layout_height="match_parent"/>
                    </LinearLayout>
            </NestedScrollView>
    
            <!--Navigation Drawer setting-->
            <android.support.design.widget.NavigationView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                app:itemTextColor="@color/colorPrimaryDark"
                app:itemIconTint="@color/colorPrimaryDark"
                app:menu="@menu/drawermenu"
                android:layout_gravity="start"
                android:background="#fff">
            </android.support.design.widget.NavigationView>
    
        </android.support.v4.widget.DrawerLayout>
    

    here is link for migrate from ListView to RecyclerView

        2
  •  0
  •   Cao Minh Vu    6 年前

    请改用NestedScrollView,它类似于ScrollView,但它支持同时作为嵌套滚动父级和子级。有关更多信息和示例,请查看此项。

    https://inducesmile.com/android-tips/android-recyclerview-inside-nestedscrollview-example/

        3
  •  0
  •   suganya    6 年前

    将scrollview更改为nestedscrollview