当前位置: 首页 > news >正文

android BSP 开发总结之四

1.设置状态栏的显示或隐藏


frameworks/base 路劲下面有个services/core/java/com/android/server/wm/DisplayPolicy.java, 该文件中有一个”mHasNavigationBar” , 设置为false则隐藏,否则显示。
String navBarOverride = "1";
if ("1".equals(navBarOverride)) {mHasNavigationBar = false;
} else if ("0".equals(navBarOverride)) {mHasNavigationBar = true;
}

2.修改Snapdragon camera preview size 和image distortion

Snapdragon camera 不支持landscape的情况,将camera设置为landscape后,会出现preview size 和image distortion 不正确. 有遇到两种snapdragon camera的code。分别使用两种修改方式:

修改PhotoUI VideoUI文件

修改src/com/android/camera/PhotoUI.java文件中的”layoutPreview(float ratio)” 部分code,如下:

             Log.v(TAG, "setTransformMatrix: scaledTextureWidth = " + scaledTextureWidth+ ", scaledTextureHeight = " + scaledTextureHeight);
+            scaledTextureWidth = mMaxPreviewWidth - (mTopMargin + mBottomMargin);
+            scaledTextureHeight = mMaxPreviewHeight;if (((rotation == 0 || rotation == 180) && scaledTextureWidth > scaledTextureHeight)|| ((rotation == 90 || rotation == 270)&& scaledTextureWidth < scaledTextureHeight)) {
+                lp = new FrameLayout.LayoutParams((int)scaledTextureWidth ,
+                        (int) scaledTextureHeight, Gravity.CENTER);
+            } else {lp = new FrameLayout.LayoutParams((int) scaledTextureHeight,(int) scaledTextureWidth, Gravity.CENTER);
-            } else {
-                lp = new FrameLayout.LayoutParams((int) scaledTextureWidth,
-                        (int) scaledTextureHeight, Gravity.CENTER);
-            }
-            if(mScreenRatio == CameraUtil.RATIO_4_3) {
-                lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP;
-                lp.setMargins(0, mTopMargin, 0, mBottomMargin);}
+//            if(mScreenRatio == CameraUtil.RATIO_4_3) {
+//                lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP;
+                lp.gravity = Gravity.TOP;
+                lp.setMargins(mTopMargin, 0, 0, mBottomMargin);
+//            }

修改src/com/android/camera/VideoUI.java文件中的layoutPreview(float ratio)” 部分code,如下:

相关文章:

  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • P8599 [蓝桥杯 2013 省 B] 带分数(dfs+全排列+断点判断)
  • JavaScript包装类型
  • Oracle常用系统变量
  • 93.STL-系统内置仿函数
  • Java面向对象第7天
  • 深度学习笔记《一》:keras_core.layers.Conv2D()
  • 插入区间[中等]
  • interface previously declared 的bug问题
  • 代码随想录二刷|第七章:回溯算法
  • 第一章 Python基础
  • 【gpts】学算法题[缺失的第一个正数](https://leetcode.cn/problems/first-missing-positive/)
  • Findreport中框架图使用的注意事项
  • 【迅搜04】索引配置(一)加载配置文件以及服务端配置
  • 第四章 python基础之面向对象
  • Centos6.8 使用rpm安装mysql5.7
  • Gradle 5.0 正式版发布
  • HTTP中的ETag在移动客户端的应用
  • in typeof instanceof ===这些运算符有什么作用
  • js如何打印object对象
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Netty 4.1 源代码学习:线程模型
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • nginx 负载服务器优化
  • PHP面试之三:MySQL数据库
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 初识 webpack
  • 反思总结然后整装待发
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 蓝海存储开关机注意事项总结
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前嗅ForeSpider教程:创建模板
  • 前嗅ForeSpider中数据浏览界面介绍
  • 微信开放平台全网发布【失败】的几点排查方法
  • 线性表及其算法(java实现)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 中文输入法与React文本输入框的问题与解决方案
  • FaaS 的简单实践
  • #每日一题合集#牛客JZ23-JZ33
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (52)只出现一次的数字III
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (编译到47%失败)to be deleted
  • (超详细)语音信号处理之特征提取
  • (二)换源+apt-get基础配置+搜狗拼音
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (论文阅读11/100)Fast R-CNN
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (原)Matlab的svmtrain和svmclassify
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)项目管理杂谈-我所期望的新人