如何使Viewpager上方的视图容器“可滚动”(工具栏在Activity里面,而不是片段)?

时间:2017-03-17 12:21:56

标签: android scroll android-viewpager android-coordinatorlayout

我有fragment,而不是toolbarToolbar必须留在activity。此fragment必须显示主viewviewpager以及fragments两个fragment。每个layout都是具体的。首先使用自定义adapter,第二次使用scroll。每个都有不同的高度。我尝试了很多库和想法,但没有一个能够正常工作(它使UI比它应该更长/更短,或者它使得UI覆盖变得疯狂。

我正在尝试layout看起来这一切都是CoordinatorLayout,这意味着它可以从上到下滚动。但我无法弄明白。我在考虑使用<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="200dp" android:background="#FF0000" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ABCDEFGH" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="GHIKJ" /> </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> ,但我不知道如何使用layout

XML:

fragment

如何在不使用toolbar引用的情况下将其设置为{{1}}中的可滚动{{1}}?

更新:是的,这里有一些图片,我希望现在更清楚了。 Testing SOAP/REST Web Services Using JMeter

2 个答案:

答案 0 :(得分:0)

listOfFiles.sort(Comparator.comparing(File::getName)); 包裹在LinearLayout内。实际上AppBarLayout扩展了AppBarLayout,因此您可以用它替换LinearLayout

即使您的应用没有工具栏或应用栏,LinearLayout也是AppBarLayout与之协调的视图。

添加CoordinatorLayout应提供您正在寻找的行为。

答案 1 :(得分:0)

此根片段布局似乎有效。我不确定这是最好的解决方案,但它确实有效。

注意:我将listview替换为标准LinearLayout作为root容器,并在那里膨胀子布局(项目)。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|enterAlways">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

            </LinearLayout>

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>

子片段(对于viewpager):

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

    <LinearLayout
        android:id="@+id/childFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"/>

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