新闻  |   论坛  |   博客  |   在线研讨会
迅为RK3399开发板Android8更改横屏状态下的NavigationBar位置
魔法城堡 | 2022-07-14 09:39:47    阅读:1350   发布文章

打开 android8 的源码
/home/topeet/itop-3399_8.1/frameworks/base/services/core/java/com/android/server/policy/目录下的
PhoneWindowManager.java 文件,修改为如下图所示:

然后修改 Android8 的源码

/home/topeet/itop-3399_8.1/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/

目录下的 NavigationBarView.java 文件,修改为如下图所示:

private void updateCurrentView() {

// final int rot = mDisplay.getRotation();

int rot = mDisplay.getRotation();

for (int i=0; i<4; i++) {

mRotatedViews[i].setVisibility(View.GONE);

}

rot = Surface.ROTATION_90;

mCurrentView = mRotatedViews[rot];

mCurrentView.setVisibility(View.VISIBLE);

Log.e(TAG,"current rot:"+rot);

mNavigationInflaterView.setAlternativeOrder(rot == Surface.ROTATION_90);

for (int i = 0; i < mButtonDispatchers.size(); i++)

Log.w(TAG, "button"+i);

mButtonDispatchers.valueAt(i).setCurrentView(mCurrentView);

}

updateLayoutTransitionsEnabled();

mCurrentRotation = rot;

}

修改效果如下图所示,横屏状态下(作者使用的是 lvds 七寸屏),底部导航栏显示在屏

幕底部。

更多内容可以关注北京迅为RK3399开发板:


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客