java - 在 Coordinatorlayout 下的 Tablayout 下定位 View Pager
问题描述
我在 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>
这是我的活动布局和..
<?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
孩子:
<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"
此外,最好TabLayout
在.AppBarLayout
Toolbar
为了可滚动,添加:app:layout_scrollFlags="scroll|enterAlways"
要在折叠后粘在那里,请添加:app:layout_collapseMode="pin"
推荐阅读
- start-activity - SecondActivity 不可见 - 不使用 AppCompatActivity
- ffmpeg - CMAKE ExternalProject_Add 添加不需要的双引号
- node.js - 使用新的节点快速服务器连接到现有 MongoDB
- c# - 如何以打开文件对话框样式选择正在运行的进程?
- kubernetes - 给定一些 kubernetes 模板,如何获取 docker 镜像列表?
- sql-server - ASP.Net MVC - 插入和更新
- java - Postgres 错误:门户“C_n”不存在
- javascript - Changing VS code style
- javascript - 如何将变量“if”应用于第 9 行
- reactjs - django和react的常用文件夹设计