我正在尝试实施Play商店标题图片行为,但没有成功。
我能够滚动整个页面,但只能与ImageView
内的CollapsingToolbarLayout
一起使用。
我使用了example at the announcement of Android Design Support library。截至目前,活动的XML如下所示:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.design.widget.AppBarLayout
android:layout_height="192dp"
android:layout_width="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"
layout_width="wrap_content" layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed" layout_width="wrap_content"
layout_height="wrap_content">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/imageView" android:layout_gravity="center_vertical" android:src="@android:mipmap/sym_def_app_icon"/>
<android.support.v7.widget.Toolbar
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
app:layout_collapseMode="pin" layout_width="wrap_content" layout_height="wrap_content"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView" android:layout_gravity="center_vertical"/>
</android.support.design.widget.CoordinatorLayout>
我很确定这里缺少一些东西。
答案 0 :(得分:1)
您需要将UIView *headerView = self.headerView;
[headerView setNeedsLayout];
[headerView layoutIfNeeded];
CGFloat height = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
headerView.frame = ({
CGRect headerFrame = headerView.frame;
headerFrame.size.height = height;
headerFrame;
});
NSLog(@"Header Frame : %@",headerView);
self.reviewsTableView.tableHeaderView = headerView;
包裹在ScrollView
内,而不是使用AppBarLayout
。
您还需要在CoordinatorLayout
之后立即放置app:layout_behavior="@string/appbar_scrolling_view_behavior"
作为主要网页内容。