求救。。CoordinatorLayout 里面的 viewpager 显示不完全会溢出屏幕。。而且 toolbar 的自动隐藏效果也失效了。。

2016-12-05 16:31:36 +08:00
 tongyang
<?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"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">

<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:expanded="true">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#FFFAFA"
android:title="@string/v2ex"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme">

</android.support.v7.widget.Toolbar>

<android.support.design.widget.TabLayout
android:id="@+id/table"
android:layout_width="match_parent"
android:layout_height="30dp"
app:layout_scrollFlags="scroll|enterAlways"
app:paddingEnd="10dp"
app:paddingStart="10dp"
app:tabGravity="fill"
app:tabIndicatorColor="#FF6EB4"
app:tabMode="scrollable"
app:tabSelectedTextColor="#000000">

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

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

</android.support.v4.view.ViewPager>
</android.support.design.widget.CoordinatorLayout>

</LinearLayout>

<android.support.design.widget.NavigationView
android:id="@+id/ngv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:layout_marginRight="20dp"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:scrollbars="none"
app:headerLayout="@layout/ngv_headr"
app:menu="@menu/nav_menu"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar">

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

</android.support.v4.widget.DrawerLayout>
11735 次点击
所在节点    Android
7 条回复
tongyang
2016-12-05 16:43:14 +08:00
求解。。困住好几天了,,
zhaohui318
2016-12-05 18:34:27 +08:00
没看出什么特别来, CoordinatorLayout 外面有个多余的 LinearLayout
ViewPager 里面是什么 view ?
可以上个图看看怎么个溢出
tongyang
2016-12-05 18:42:46 +08:00
@zhaohui318 那个是我百度的如果外面由 DrawerLayout 的话可能会导致失败需要嵌套个 LinearLayout ,我刚才把之前的山除了没有源码了,,就是正常 viewpager 应该是填充屏幕的,可是如果不设置 layout_behavior 这个属性的话他会覆盖全屏幕,可是设置这个属性后 viewpager 会自动下移一个 AppBarLayout 的长度导致 viewpager 下移溢出屏幕, viewpager 里面装的是 PtrClassicFrameLayout 和一个 listview 。。前辈看懂了么
zhaohui318
2016-12-05 19:13:03 +08:00
这个是符合预期的表现吧。因为 toolbar 的隐藏 behavior 是与 scrollview 结合使用的,而你的 viewpager 里面装的可能不是 scrollview 。如果真是这样的话那就是布局不合理
一个猜想,不一定对
KNOX
2016-12-06 08:59:39 +08:00
有没有试过把 CoordinatorLayout 放在根布局
tongyang
2016-12-07 11:40:51 +08:00
@KNOX listview 不能使用么?
tongyang
2016-12-07 11:41:07 +08:00
@KNOX 试过,也不行。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/325433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX