我有一个scrollview,在scrollview里面我有项目,我想把它们中的一些固定到屏幕顶部(像stickyheaderListview)依赖于scrollView scrollY。我几乎尝试了一切。
如果我将标题项Y位置设置为零,则会更改位置,但之后它是scrollView中的第一项。
header.animate().y(0).setDuration(0).start(); // first attempt
header.setTop(0); // second attempt
header.animate().y(mScrollView.getLastItem().getBottom).setDuration(0).start();// third attempt
P.S
我的目标是在scrollView中创建stickyheader列表项 我在scrollview中尝试了这个library,但它没有用,所有项目都经常滚动
答案 0 :(得分:1)
好吧,我认为在Android中可能有多种方法可以实现相同的用户界面。
1)首先,将滚动视图包装成这样的相对布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:text="top here"
android:id="@+id/text"
/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/text"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sample"
/>
</ScrollView>
</RelativeLayout>
2)或者另一种方法是将主要布局划分为2个片段,一个片段显示始终位于顶部的视图,另一个片段将加载滚动视图的内容。
3)这篇文章可能是一个很好的参考 Android: pin TabLayout to top of Scrollview