Fade in/out Android 动作条

Fade in/out Android ActionBar

我正在为我的 Android 应用程序使用 AppCompat ActionBar (Theme.AppCompat.Light.DarkActionBar)。

应用启动后,ActionBar在6秒后淡出(onCreate方法):

h.postDelayed(new Runnable() {
    @Override
    public void run() {
        getSupportActionBar().hide();
    }
}, 6000);

那么,如何使用从屏幕顶部到中间的触摸手势淡入 ActionBar 并在 10 秒后再次淡出?

我认为问题在于 ActionBar 没有 OnTouchListener。

尝试这样的事情。 在class你要使用的手势:

private GestureDetectorCompat gestureDetectorCompat;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    gestureDetectorCompat = new GestureDetectorCompat(this, new MyGestureListener());

     //Stuff in onCreate()

}



@Override
public boolean onTouchEvent(MotionEvent event) {
    this.gestureDetectorCompat.onTouchEvent(event);
    return super.onTouchEvent(event);
}
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
    @Override
    public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) {

        //Swipe from the top to the bottom
        if(event2.getY() > event1.getY()){

            getSupportActionBar().show();

            h.postDelayed(new Runnable() {
                @Override
                public void run() {
                    getSupportActionBar().hide();
                }
             }, 6000);

        }
        return true;
    }
}