android mtk 按键,Android 4.0 虚拟按键、手机模式、平板模式(转)

nullem;text-align:left">平台信息:

内核:linux2.6/linux3.0

系统:android/android4.0

平台:S5PV310(samsungExynos4210/4412)

作者:xubin341719(欢迎转载,请注明作者)

&nBSP;   三星新拿回来来的BSP,编译后没有“返回、最近打开应用、home”三个虚拟键。我们硬件在设计的时候也没有设定相应的物理按键,平时调试程序的时候比较麻烦。怎么把这三个按键显示出来??下面我们来说明。

同时在开始分析问前我引入另外两个问题:

table 模式、phone模式选择;

LCD_density参数设定,来决定图标密度大小。

一、引入问题:

1、 手机模式、平板模式

android4.0手机模式、平板模式两种情况 界面的主体布局不太一样,如下图所示。

thread-17071-1-1.html

thread-17071-1-1.html

2、lcd_density

ro.sf.lcd_density=240 和ro.sf.lcd_density=160两种不同的现象,很明显说明这个参数的做用。后面我们遇到一个问题要从这里说明。

thread-17071-1-1.html

To change the density of the screen change /system/build.prop

ro.sf.lcd_density=240

high-density, at the right of the picture, comes by default in the mephisto's roms.

ro.sf.lcd_density=180

low density, at the left of the picture

(This means that the number of pixels per inch is240=800/3.5"

3.5" is the screen of the H1 and 800×480 display resolution).

So you can pick any number between 240 and 180 - personally I use 220.

You can do this using root explorer apk for instance:

二、问题分析

1、参考网友的说法:

将\Frameworks\base\core\res\res\values\config.xml中的下面属性的值改为true;false

状态:模式:phone

参数:config_showNavigationBar=true

thread-17071-1-1.html

出现以下情况:

(1)、虚拟按键边上那个黑框已经出来;

(2)、看不到三个按键图标;

(3)、点击边缘时会有颜色变化,横屏是“返回”键,竖屏时点击为“最近打开程序”;感觉那个按键被放大了一样。 由上面分析,这种现象是布局出问题,我们LCD分辨率为1280*800,其实三个按键出来了,只不过图标显示太大,所以我们看不到。同时在这里我们引入前面我们提到的两个问题:(1)、table 模式、phone模式选择;(2)lcd_density参数设定,来决定图标密度大小。

很明显的我们可以看出现在编译的时phone模式、那个图标为什么看不到, lcd-_density设定的图标太大。

2、问题分析

打开机器,在串口终端或者是adb shell中:

cd/system

catdefault.prop

thread-17071-1-1.html

我们可以看到:

ro.build.characteristics=phone

这就是我们所说的table、phone参数设定,不同的模式在这里决定的。查找这些参数在那里设定,最终找到:

android_ramos_4412_02/android/device/samsung/smdk4x12/device.mk

ifeq ($(BOARD_USES_HIGH_RESOLUTION_LCD),true) //(1)、如果满足条件,就设为table模式;

product_CHARACTERISTICS:= tablet

PRODUCT_COPY_FILES += \ frameworks/base/data/ETC/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml

$(call inherit-product, frameworks/base/build/tablet-dalvik-heap.mk)

else

PRODUCT_CHARACTERISTICS:= phone//(2)、满足条件就设为phone模式;

PRODUCT_COPY_FILES += \

frameworks/base/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml

$(call inherit-product, frameworks/base/build/phone-hdpi-512-dalvik-heap.mk) PRODUCT_PROPERTY_OVERRIDES += \

ro.sf.lcd_density=240//(3)、lcd_density设定。

PRODUCT_AAPT_CONFIG:= normalhdpi

Endif

(1)、如果满足条件,就设为table

BOARD_USES_HIGH_RESOLUTION_LCD = true,就设定为table模式。

(2)、满足条件就设为phone模式;

BOARD_USES_HIGH_RESOLUTION_LCD = flash,就设定为phone模式

(3)、lcd_density设定。

在PRODUCT_CHARACTERISTICS := phone时,lcd_density设置为240。

现在我们要用table模式,所以我们要把BOARD_USES_HIGH_RESOLUTION_LCD这个参数设定为true。

android_ramos_4412_02/android/device/samsung/smdk4x12/BoardConfig.mk

OARD_USES_HIGH_RESOLUTION_LCD := true

把BOARD_USES_HIGH_RESOLUTION_LCD选为ture就可以编译成平板模式。

(4)、把config_showNavigationBar还原成默认值

将\frameworks\base\core\res\res\values\config.xml

false

状态

模式:table

参数:config_showNavigationBar=false

编译,平板模式三个虚拟按键就可以出来了。我们的问题解决了。设为平板模式;三个虚拟按键出现。

三、phone模式下为什么只有一个黑框?

问题解决了,但是我们还有一个疑问,那就是按网友那种方法改动后,为什么没有出现我们理想的效果呢?回顾“1、参考网友的说法:”更改后,个别键有做用,但是不能看到三个按键。

分析代码android/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.Java

mNavigationBarHeight=mHasNavigationBar? mContext.getResources().getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_height) : 0; mNavigationBarWidth=mHasNavigationBar ?mContext.getResources().getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_width) : 0;

Log.v(TAG, "xubintestmNavigationBarHeight= " + mNavigationBarHeight

  "mNavigationBarWidth=" +mNavigationBarWidth);

打印值为:

V/WindowManager( 1250): xubin testmNavigationBarHeight=72 mNavigationBarWidth=63

V/WindowManager(1250): xubin testmNavigationBarHeight=72 mNavigationBarWidth=63

打印出来的信息也没什么问题,相对的而已文件也正确。这就回到我们开始提到那个lcd_density参数问题了,上面可以很明显的看到,当lcd_density值发生小的改变后,图标大小有很大的变化,再个来说我们LCD的分辨率太高,1280X800的,所以把那三人图标放大大,所以我们看到上面那种现象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

y电容如何选型_干式试验变压器选型依据

湖北中试高测电气控股有限公司为您解答:干式试验变压器选型依据干式试验变压器是电力系统中常用的设备之一,适用于各种电气设备绝缘性能的现场检测。当前市面上的干式试验变压器品牌、种类众多,如何才能选购到最适合自己使用的产品呢&#xf…

eplan如何导入access_EPLAN如何助力汽车行业的智能制造转型?

本文从汽车行业智能制造建设需求出发,结合EPLAN服务全球汽车行业企业实现智能制造的最佳实践,介绍了EPLAN在汽车行业智能制造建设过程中所能提供的完整、成熟的电气设计解决方案。作者:Eplan 王阳 | 来源:e-works一、汽车行业快速…

全面讲解OpenStack技术知识

戳蓝字“CSDN云计算”关注我们哦!作者 | 鲜枣课堂责编 | 刘丹对于大部分人来说,这是一个很陌生的词,不知道它到底是什么,从哪里来,有什么用,和自己的工作有什么关系。有人可能知道,它和现在非常…

Dubbo在互金行业的应用

摘要: 融之家技术团队从2015年截止到目前累计经历了4次演进(单体应用、多实例部署、半微服务、微服务),让平台能更懂用户,更理解用户的需求,把合适的人匹配到合适的产品。前言本文章是根据潘志伟老师在上海…

os是android5.0,Funtouch OS 2.1曝光 完美改Android5.0

由于设计风格华丽,UI特色鲜明,vivo基于Android 5.0开发的Funtouch OS 2.1曝光后,一直备受用户关注。近日,vivo官方再次公布其设计细节,据Funtouch官方微博发布的系统截图显示,Funtouch OS 2.1全面升级了And…

哈工大理论力学第八版电子版_校史上的这些天(37)| 和你一起在“岁月”中读懂哈工大...

1954年5月26日中央高等教育部委托哈工大组织举办理论力学、机械原理、机械零件3门课程教学座谈会。1990年5月26至27日哈尔滨建筑工程学院召开第六次党员代表大会。大会选举王玉林、朱华、刘剑秋、沈世钊、吴满山、张云学、张树仁、荣大成、高廷臣为中共哈尔滨建筑工程学院第六届…

fatal: remote origin already exists.报错已成功解决

在上传本地代码到github仓库时,出现下面这个问题: 解决办法: 先移除 git remote rm origin再次添加 git remote add origin https://github.com/jennaqin/jennaqin.github.io.git

阿里云 APM 解决方案地图

摘要: PM是近5年来伴随着云技术、微服务架构发展起来的一个新兴监控领域。在国内外,无论是云厂商(如AWS, Azure,等)还是独立的公司(Dynatrace, Appdynamics,等),都有着非常优秀的APM产品。APM 概述APM 全称是 Applicat…

云栖大会 | 释放计算弹性,阿里云做了很多

戳蓝字“CSDN云计算”关注我们哦!时至今日,已经没有人怀疑云计算是最主流的企业IT基础设施之一。围绕云计算最基础最核心的话题计算力,探讨在新硬件、新技术和新场景带来的机遇和挑战下,计算产品如何演进,使其价格更加…

支持Dubbo生态发展,阿里巴巴启动新的开源项目 Nacos

摘要: 上周六的Aliware技术行上海站Dubbo开发者沙龙上,阿里巴巴高级技术专家郭平(坤宇)宣布了阿里巴巴的一个新开源计划,阿里巴巴计划在7月份开启一个名叫Nacos的新开源项目, 在活动演讲中,坤宇介绍了这个开源项目的初衷&#xff…

地磅称重软件源码_电脑设备器件+塔吊主吊臂+撇渣管、丝杆+地磅称重传感器+极柱触头盒弯板+批式循环谷物干燥机+升降机标准节...

电脑设备器件 [1批]位置:广东省深圳市宝安区是否含税:不含税标的规格:批出险时间:2020-07-30 13:48:00受损原因:水湿深圳市益华市场受损程度:80%塔吊主吊臂 [1节]位置:广东省广州市番禺区是否含…

! [rejected]

git push -u origin master解决 git push -u -f origin master

laravel8找不到控制器_找一个“靠谱儿”的烟雾探测器方案,难不难?

安全,应该说是人们生活中最“硬核”的刚需。很多安全设备平日里几乎是“透明”的,大家感觉不到它们的存在,而一旦遇到事儿,它们却必须能够派上用场,颇有些“养兵千日,用兵一时”的味道。因此,如…

世界杯迄今最火的一场比赛 一文看懂世界杯背后的阿里云黑科技

摘要: 世界杯“法阿之战”中帕瓦尔世界波以及姆巴佩梅开二度一定让你印象深刻,而梅西的饮恨离开也让不少球迷碎了心。但你知道,比赛当天的阿里云藏着什么秘密吗?世界杯“法阿之战”中帕瓦尔世界波以及姆巴佩梅开二度一定让你印象深…

你在北边的西二旗被水淹没,我在东边的八通线不知所措

戳蓝字“CSDN云计算”关注我们哦!作者 | 朱小五and王小九责编 | 刘丹当代大城市年轻人,生活扇来的第一个巴掌就是——租房。而大部分年轻人在租房的第一年,要么付了大公司的服务费,要么交了黑中介的智商税。在积累了一定被坑的经验…

【免费公测中】为数据赋予超能力,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics

摘要: 近日,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics,Data Lake Analytics,帮助更多不具备分析能力的存储服务,赋予其分析的能力。近日,阿里云重磅推出Serverless数据分析引擎-Data Lake…

jq获取当前完整html,jquery怎样获取html的内容?

jquery怎样获取html的内容?下面本篇文章给大家介绍一下使用jquery获取html内容的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。jquery获取html元素内容的方法方法1:使用html()方法html()可以设置或返回所…

内部矩阵维度必须一致simulink_深度学习/目标检测之numpy——向量和矩阵乘法相关...

numpy中表示向量和矩阵乘法的有四种"*"、outer、dot、multiply。1、关于 "*" 的用法"*" 也为对于元素的乘积,但是 "*" 作为乘法运算时,必须满足 numpy 的 broadcasting(广播) 的原则 ,当两个矩阵相乘…

阿里云企业IPv6部署方案

摘要: 一、什么是IPv6。 IP version 6 (IPv6)是IP协议(Internet Protocol)的最新版本,设计作为IP version 4 (IPv4) [RFC791]的继任版本。一、什么是IPv6。IP version 6 (IPv6)是IP协议(Internet Protocol)…