【发布时间】:2015-03-21 11:27:56
【问题描述】:
我的 Activity 有以下布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<include layout="@layout/toolbar" />
</FrameLayout>
content_fragment 是我替换包含 gridView 的片段的地方:
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context="com.test.android.client.fragment.BurgerGridFragment">
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:columnWidth="150dp"
android:horizontalSpacing="@dimen/margin_extra_small"
android:numColumns="auto_fit"
android:padding="@dimen/padding_extra_small"
android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="@dimen/margin_extra_small" />
</android.support.v4.widget.SwipeRefreshLayout>
我的想法是,当我在 GridView 中滚动时,工具栏应该会随着动画出现/消失:
if (shown) {
view.animate()
.translationY(0)
.alpha(1)
.setDuration(HEADER_HIDE_ANIM_DURATION)
.setInterpolator(new DecelerateInterpolator());
} else {
view.animate()
.translationY(-view.getBottom())
.alpha(0)
.setDuration(HEADER_HIDE_ANIM_DURATION)
.setInterpolator(new DecelerateInterpolator());
}
问题是第一个网格项目被工具栏部分重叠。 你知道如何解决这个问题吗?
附录:
我已经为我的 Activity 尝试了 RelativeLayout 和 LinearLayout 而不是 FrameLayout,但这不是解决方案,我遇到了另一个问题,如 https://stackoverflow.com/questions/29163698/hiding-toolbar-when-scrolling-layout-under-toolbar-does-not-disapear 所述
【问题讨论】:
标签: android gridview toolbar material-design