我正在尝试在用户滚动时更改RelativeLayout的高度,因此它会平滑地向上移动。它有点工作,但它的所有闪烁和故障。
我尝试使用setTranslationY,但这不会使用RelativeLayout移动scrollview。
int top = mScrollView.getScrollY();
int maxRelative = formulas.dpToPx(250);
int actualRelative = (int)((1.0-((float)top)/300.0)*((float)maxRelative));
RelativeLayout.LayoutParams layout_description = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
actualRelative);
mCollapsingLayout.setLayoutParams(layout_description);
mCollapsingLayout.requestLayout();
这就是它的外观
如果您在滚动时如何更好地了解如何缩小RelativeLayout,那么它会受到赞赏。
编辑:这是我的xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
android:id="@+id/collapsing.view">
<ImageView
android:id="@+id/collapsing.view.image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/theflash"
android:tint="#7F000000"
android:scaleType="centerCrop"/>
<ImageButton
android:id="@+id/favorite.button"
android:layout_width="70dp"
android:layout_height="70dp"
android:background="?android:attr/selectableItemBackground"
android:scaleType="fitCenter"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="30dp"
android:src="@drawable/favorite_button"
/>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:paddingBottom="30px">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="The Flash"
android:textColor="#fff"
android:textSize="25sp"
android:layout_centerInParent="true"
/>
</FrameLayout>
</RelativeLayout>
<ScrollView
android:id="@+id/detail.scrollview"
android:layout_below="@+id/collapsing.view"
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
答案 0 :(得分:1)
您需要将RelativeLayout
放在ScrollView
内并再次尝试setTranslationY
- 它应该有效
答案 1 :(得分:1)
有几种方法可以解决这个问题,包括现成的this one类,基本上可以做你想要的。您可能需要删除缩小文本的部分,等等,但它就在您需要的地方