本人第一次写博客,没什么技术含量,还请多多包涵,对于我们Android开发,有一种事情特别棘手,就是不知道如何监听导航键的隐藏和显示,我在平时开发中碰到过这种问题,想了很久,终于解决这个问题,经过在华为手机上测试,是可以行得通,其它手机你们自行测试一下。
示例代码是基于竖直屏幕,android:screenOrientation=“portrait”。横屏也是类似的。废话不多说,直接贴出代码。
首先先定义一个基础的BaseActivity,后续的Activity都继承BaseActivity即可。
package com.example.listennavigationshowhidedemo;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Point;
import android.os.Build;
import android.os.Bundle;
import android.view.Display;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.Window;
import android.view.WindowManager;
/**
*
* @author wuguoqiong
*
*/
public abstract class BaseActivity extends Activity implements OnGlobalLayoutListener{
private static boolean isNavigationShow = true;//默认为显示
private static int count = 0;//用于记录第一次导航键是隐藏还是显示