资源说明:"ListView滑动隐藏显示ToolBar的实例"
ListView滑动隐藏显示ToolBar的实例是一种常见的用户界面交互方式,旨在提供优秀的用户体验。这种实例的主要思想是通过监听ListView的滑动事件,来决定ToolBar的显示或隐藏。下面我们将详细介绍这种实例的实现。
一、布局文件
在布局文件中,我们首先需要定义一个ListView控件和一个ToolBar控件。这两个控件将作为我们的主要界面元素。布局文件的代码如下:
```xml
```
二、主界面代码
在主界面代码中,我们首先需要获取ListView和ToolBar的实例,然后通过监听ListView的滑动事件来决定ToolBar的显示或隐藏。我们可以通过属性动画来实现ToolBar的显示和隐藏。下面是主界面代码的实现:
```java
package com.research.gong.android_view_research;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView listView;
String[] datas = {"A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10",
"A11", "A12", "A13", "A14", "A15", "A16", "A17", "A18", "A19", "A20"};
private float scaledTouchSlop;
private float firstY = 0;
private Toolbar toolbar;
private ObjectAnimator animtor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolBar);
//...
}
}
```
三、滑动事件监听
为了监听ListView的滑动事件,我们可以使用View的OnTouchListener接口。通过监听滑动事件,我们可以决定ToolBar的显示或隐藏。下面是滑动事件监听的实现:
```java
listView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
firstY = event.getY();
break;
case MotionEvent.ACTION_MOVE:
float y = event.getY();
if (y - firstY > scaledTouchSlop) {
// 显示ToolBar
animtor = ObjectAnimator.ofFloat(toolbar, "translationY", toolbar.getTranslationY(), 0);
animtor.setDuration(200);
animtor.start();
} else if (y - firstY < -scaledTouchSlop) {
// 隐藏ToolBar
animtor = ObjectAnimator.ofFloat(toolbar, "translationY", toolbar.getTranslationY(), -toolbar.getHeight());
animtor.setDuration(200);
animtor.start();
}
break;
}
return false;
}
});
```
四、结语
ListView滑动隐藏显示ToolBar的实例是一种常见的用户界面交互方式,旨在提供优秀的用户体验。通过监听ListView的滑动事件,我们可以决定ToolBar的显示或隐藏,提供更加流畅的用户体验。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。