你好,我试图重现我在活动中完成的操作,当我将列表向下移动时,它会以动画方式隐藏一些项目。
请注意,在此示例中,搜索字段未累加。
任何人都知道如何完成下面的GIF中显示的操作吗?
感谢{@ 1}将帮助解决方案放入了ListView
android: nestedScrollingEnabled = "true"
答案 0 :(得分:0)
要实现这一点,您可以使用协调器布局
例如
主要活动
public class MainActivity extends AppCompatActivity {
private List<String> mList = new ArrayList<>();
private RecyclerView mRecyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
prepareData();
setUpRecyclerView();
}
private void prepareData() {
Random random = new Random();
for (int i = 0; i < 100; i++)
mList.add(String.valueOf(random.nextInt(100)));
}
private void setUpRecyclerView() {
mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager
.VERTICAL, false));
mRecyclerView.setHasFixedSize(true);
ListAdapter listAdapter = new ListAdapter(mList);
mRecyclerView.setAdapter(listAdapter);
}
}
布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary"
android:title="@string/app_name"
app:layout_scrollFlags="scroll|enterAlways"
app:titleTextColor="@android:color/white"/>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
基本上可以隐藏和显示视图的行是:
app:layout_scrollFlags="scroll|enterAlways"
,应将其添加到要隐藏/显示的视图中
和
app:layout_behavior="@string/appbar_scrolling_view_behavior"
在您的列表或滚动视图中
在上面的示例中,这些行位于工具栏和RecyclerView中,因此,当滚动recyclerview时,工具栏应隐藏