在 Coordinatorlayout 下的 Tablayout 下定位 View Pager
Positioning View Pager below Tablayout under Coordinatorlayout
我在 CoordinatorLayout 中有一个 Appbar、Tablayout 和一个 ViewPager。但是 ViewPager 总是与屏幕中的所有其他视图重叠,除非我指定了 'MatchParent' 或 'WrapContent' 以外的确定高度。我尝试了几件事,但除了根据屏幕尺寸动态设置高度外,对我没有任何帮助。我想知道! xml 本身必须有某种方法可以做到这一点。
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/logocolor"
android:id="@+id/appbar"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar1"
android:layout_height="match_parent"
android:layout_width="match_parent"
app:title="FlashBook"
app:titleTextColor="@color/whitetish"
app:layout_scrollFlags="scroll|enterAlways|snap"
/>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentStart="true"
android:background="@color/logocolor"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom"
android:layout_gravity="bottom">
</android.support.design.widget.TabLayout>
<include
layout="@layout/viewpager_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_anchor="@id/tablayout"
app:layout_anchorGravity="bottom"
android:layout_gravity="bottom"
>
</include>
</android.support.design.widget.CoordinatorLayout>
这是我的 activityLayout 和..
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/viewpagermain"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="@layout/activity_appbartestactvity"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v4.view.ViewPager>
这是viewpager_layout..
尝试将 ViewPager
直接添加为 CoordinatorLayout
child:
<android.support.v4.view.ViewPager
android:id="@+id/viewpagermain"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
或者如果您需要 <include
标签,也将此行添加到 <include
:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
此外,最好在AppBarLayout
内和Toolbar
下使用TabLayout
。
为了可滚动,添加:app:layout_scrollFlags="scroll|enterAlways"
要在折叠后坚持在那里,请添加:app:layout_collapseMode="pin"
我在 CoordinatorLayout 中有一个 Appbar、Tablayout 和一个 ViewPager。但是 ViewPager 总是与屏幕中的所有其他视图重叠,除非我指定了 'MatchParent' 或 'WrapContent' 以外的确定高度。我尝试了几件事,但除了根据屏幕尺寸动态设置高度外,对我没有任何帮助。我想知道! xml 本身必须有某种方法可以做到这一点。
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/logocolor"
android:id="@+id/appbar"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar1"
android:layout_height="match_parent"
android:layout_width="match_parent"
app:title="FlashBook"
app:titleTextColor="@color/whitetish"
app:layout_scrollFlags="scroll|enterAlways|snap"
/>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentStart="true"
android:background="@color/logocolor"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom"
android:layout_gravity="bottom">
</android.support.design.widget.TabLayout>
<include
layout="@layout/viewpager_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_anchor="@id/tablayout"
app:layout_anchorGravity="bottom"
android:layout_gravity="bottom"
>
</include>
</android.support.design.widget.CoordinatorLayout>
这是我的 activityLayout 和..
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/viewpagermain"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="@layout/activity_appbartestactvity"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v4.view.ViewPager>
这是viewpager_layout..
尝试将 ViewPager
直接添加为 CoordinatorLayout
child:
<android.support.v4.view.ViewPager
android:id="@+id/viewpagermain"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
或者如果您需要 <include
标签,也将此行添加到 <include
:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
此外,最好在AppBarLayout
内和Toolbar
下使用TabLayout
。
为了可滚动,添加:app:layout_scrollFlags="scroll|enterAlways"
要在折叠后坚持在那里,请添加:app:layout_collapseMode="pin"