我意识到以下内容不正确,但我想您可以将其视为伪代码。我想知道,如何将整个布局“附加”到我的RecyclerView上,这样当我向下滚动布局时,它会随着它滚动出来。目前,RecyclerView上方的TextView固定在屏幕上,而我的RecyclerView中的所有数据都是可滚动的。当用户向下滚动页面时,我希望TextView移出视线。如果您查看Instagram,当您向下滚动页面时,图库顶部的所有用户个人资料信息都会消失。我怎样才能做到这一点?如何以编程方式添加TextView?
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello!" />
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="?android:attr/actionBarSize"
android:padding="@dimen/item_margin"
android:id="@+id/recycler_view"
android:clipToPadding="false">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello!" />
</android.support.v7.widget.RecyclerView>
答案 0 :(得分:7)
您可以尝试使用Android-ObservableScrollView。
请参阅以下链接: https://github.com/ksoichiro/Android-ObservableScrollView
答案 1 :(得分:7)
我使用这两个很好的资源做了同样的事情:
https://plus.google.com/114432517923423045208/posts/EdkQFx1RqhE
https://gist.github.com/gabrielemariotti/4c189fb1124df4556058
答案 2 :(得分:6)
您可以使用自定义TextView
将RecyclerView
添加为RecyclerAdapter
项之一,也可以使用ScrollView
作为LinearLayout
内容,而不是RecyclerView
,因为不建议在ScrollView
内使用。{/ p>
答案 3 :(得分:0)
一种可能的解决方案: 您可以将TextView视为RecyclerView的项目之一,但它具有不同的外观。
@Override
public int getItemViewType(int position) {
if (position == 0) {
return HEADER;
} else {
return NORMAL_ITEM;
}
}
@Override
public StandardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == HEADER) {
//inflate your textview layout header. Create a viewholder //for it
} else {
// inflate normal layour
}
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
if (getItemViewType(position) == HEADER) {
// BIND header View
} else {
//BIND NormalView
}
}