gpt4 book ai didi

android - NestedScrollView 中的 ViewPager

转载 作者:IT老高 更新时间:2023-10-28 13:05:10 31 4
gpt4 key购买 nike

我需要创建一个类似于 Google Newsstand 的界面,它是一种在折叠标题(垂直滚动)上的 ViewPager(水平滚动)。我的要求之一是使用 Google IO 2015 上展示的新设计支持库。(http://android-developers.blogspot.ca/2015/05/android-design-support-library.html)

根据 Chris Banes (https://github.com/chrisbanes/cheesesquare) 创建的示例,我已经达到了能够进行折叠行为但使用基本 LinearLayout(没有水平滚动)的程度。

我试图用 ViewPager 替换 LinearLayout,但我得到了一个空白屏幕。我玩过:宽度、重量和各种 View 组,但.... 仍然是一个空白屏幕。看来 ViewPager 和 NestedScrollView 互不喜欢。

我尝试了使用 Horizo​​ntalScrollView 的解决方法:它可以工作,但我失去了 PagerTitleStrip 功能的好处和对单个面板的关注(我可以在 2 个面板之间停止水平方向)。

现在我没有更多的想法,如果有人可以引导我找到解决方案......

谢谢

这是我最新的布局文件:

<?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:layout_width="match_parent"
android:layout_height="match_parent">

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

<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">

<include
layout="@layout/part_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax"/>

<android.support.v7.widget.Toolbar
android:id="@+id/activity_main_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

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

<android.support.v4.widget.NestedScrollView
android:id="@+id/activity_main_nestedscrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<android.support.v4.view.ViewPager
android:id="@+id/activity_main_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFA0"/>


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

最佳答案

我遇到了这个问题,我通过setFillViewport(true)

解决了
<android.support.v4.widget.NestedScrollView
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:id="@+id/nest_scrollview"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="mio.kon.yyb.nestedscrollviewbug.ScrollingActivity"
tools:showIn="@layout/activity_scrolling">


<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

Activity 中

  NestedScrollView scrollView = (NestedScrollView) findViewById (R.id.nest_scrollview);
scrollView.setFillViewport (true);

enter image description here

关于android - NestedScrollView 中的 ViewPager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30580954/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com