淡入/淡出Android ActionBar

时间:2015-06-02 09:53:31

标签: java android 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秒后再次淡出?

enter image description here

我认为问题是,ActionBar没有OnTouchListener。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情。 在课堂上你想要使用手势:

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;
    }
}