package com.halzhang.android.examples.bar; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.animation.Animation; import android.view.animation.AnimationUtils; public class BarActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Window window = getWindow(); window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int visibility) { if (visibility == View.SYSTEM_UI_FLAG_VISIBLE) { View view = findViewById(R.id.title_panel); Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.push_down_in); view.setAnimation(animation); view.setVisibility(View.VISIBLE); animation.start(); } } }); setContentView(R.layout.activity_bar); findViewById(R.id.bar).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { hideBar(); } }); } private void hideBar() { View view = findViewById(R.id.title_panel); Animation animation = AnimationUtils.loadAnimation(this, R.anim.push_up_out); view.setAnimation(animation); view.setVisibility(View.GONE); animation.start(); animation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { View decorView = getWindow().getDecorView(); // Hide the status bar. int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions); } @Override public void onAnimationRepeat(Animation animation) { } }); } private void showBar() { View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE; decorView.setSystemUiVisibility(uiOptions); } }