锁屏界面的小锁图标UI异常,竖屏不居中,显示在右边。锁屏小锁图标在底部会与提示文字重叠。
这边思路就是,写死底部居中,然后把它里面算法的方法直接注释掉,完全依赖xml来布局。
verride/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/status_bar_expanded.xml
这里面有个
<com.android.keyguard.LockIconView
里面就有
<ImageView
android:id="@+id/lock_icon"
我们只需要在父控件<com.android.keyguard.LockIconView中加个布局
android:layout_gravity="center|bottom"
底部居中。
override/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/keyguard/LockIconViewController.java
这个文件里面有算图标的中心位置在哪的,刚开始的时候会调用onViewAttached,这里面我们把updateConfiguration();这个方法注释掉,因为这个方法如下
private void updateConfiguration() {final DisplayMetrics metrics = mView.getContext().getResources().getDisplayMetrics();mWidthPixels = metrics.widthPixels;mHeightPixels = metrics.heightPixels;mBottomPadding = mView.getContext().getResources().getDimensionPixelSize(R.dimen.lock_icon_margin_bottom);mUnlockedLabel = mView.getContext().getResources().getString(R.string.accessibility_unlock_button);mLockedLabel = mView.getContext().getResources().getString(R.string.accessibility_lock_icon);updateLockIconLocation();}
所以又会到updateLockIconLocation这个方法。
private void updateLockIconLocation() {if (mUdfpsSupported) {FingerprintSensorPropertiesInternal props = mAuthController.getUdfpsProps().get(0);mView.setCenterLocation(new PointF(props.sensorLocationX, props.sensorLocationY),props.sensorRadius);} else {mView.setCenterLocation(new PointF(mWidthPixels / 2,mHeightPixels - mBottomPadding /**- sDistAboveKgBottomAreaPx- sLockIconRadiusPx*/), sLockIconRadiusPx);}mView.getHitRect(mSensorTouchLocation);}
这个方法里面实测只走了else,刚开始初始化onViewAttached,里面有一次计算位置,然后就是每次转屏都会用这个方法再算一次。监听的方法是
private final ConfigurationController.ConfigurationListener mConfigurationListener =new ConfigurationController.ConfigurationListener() {
里面主要是
public void onConfigChanged(Configuration newConfig) {if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {/*/tyd.yantao 20220808 force xml to display lockIconupdateConfiguration();//*/updateColors();}
会发现这边源码是一旦转到竖屏又会调用算法再重新设置位置,由于这项目的分辨率改过,所以UI会有问题,原来的算法不行。所以这边也把那个方法注释掉。
解锁图标上面的小字
然后还发现一个问题,就是这个锁在底部会与提示文字重叠,就是提示滑动解锁的文字,所以这边的思路是把底部的文字调高一点。
vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/dimens.xml
改keyguard_indication_margin_bottom
我改成了48dp。
这个主要是KeyguardBottomAreaView
在/status_bar_expanded.xml中就是这个组件,里面应该还有底部的比如说照片快捷 ,只不过这个项目隐藏了吧。
<includelayout="@layout/keyguard_bottom_area"android:visibility="gone" />
锁屏界面的小锁图标UI异常,竖屏不居中,显示在右边。锁屏小锁图标在底部会与提示文字重叠。相关推荐
- Android 10.0去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示
在开发定制化wifi版平板时,需要去掉所有紧急拨打电话的功能,而紧急拨打电话在锁屏界面 和SystemUI 的下拉快捷里面有这些功能 所以就从这两个地方入手,屏蔽到紧急拨打电话功能 1.SystemU ...
- 小程序页面遮罩且不能滚动 + 内容居中显示
<view class="container"><view class="mask"></view><view cla ...
- 小程序中align-items: center竖直方向居中失败解决办法
垂直居中失败现象 可以看到我在CSS中设置了水平和垂直居中,但是显示出来并没有效果 CSS中代码 .Nav_text{display: flex;align-items: center;justify ...
- android 系统 锁屏界面,在安卓手机系统使用Ubuntu漂亮的锁屏界面攻略
如果你了解Ubuntu系统,那么绝对会被它那漂亮的锁屏界面所吸引.今天我们就让广大Android用户能够提前感受一下Ubuntu系统的锁屏界面,并且不会有任何功能上的影响,所有的通知与信息都可以正常显 ...
- 网易云音乐锁屏界面实现
2019独角兽企业重金招聘Python工程师标准>>> ######最终效果: #完整的实现思路: App如果需要在锁屏界面上显示相关的信息和按钮, 必须先开启远程控制事件(Remo ...
- 锁屏界面_强迫症必爱!iPhone怎样隐藏锁屏界面的手电筒、相机图标?
各位小伙伴,大家好!所有的系统软件程序都有不同程度的bug,没有完美的~所以程序员就需要一直"修修补补",昨天我们分享了iOS13的一个bug,可以隐藏桌面图标!今天我们分享一个小 ...
- 强迫症必爱!iPhone怎样隐藏锁屏界面的手电筒、相机图标?
各位小伙伴,大家好!所有的系统软件程序都有不同程度的bug,没有完美的~所以程序员就需要一直"修修补补",昨天我们分享了iOS13的一个bug,可以隐藏桌面图标!今天我们分享一个小 ...
- 锁屏界面提示某些设置已隐藏_iOS 13隐藏手电筒和相机快捷图标
在iPhone X及其以上的机型,在iOS 13出现一个bug,通过触发这个bug,就可以隐藏手机锁屏界面的手电筒和相机快捷图标,界面更加简洁.那么又是如何操作的呢. 设置教程 首先,锁屏界面在中间上 ...
- 锁屏界面提示某些设置已隐藏_息屏还有这些“骚操作”,华为这几个隐藏小功能快用起来...
现在手机系统更新太快了,有时候根本不知道新手机到底有什么便捷功能! 确实,很多小伙伴换了新手机后,都没怎么对系统深入研究,每当得知的时候就一脸"相见恨晚". 对于经常搞机.喜欢发掘 ...
最新文章
- web 服务发布注意事项
- R语言dplyr包排序及序号函数实战(row_number、ntile、min_rank、dense_rank、percent_rank、cume_dist)
- python使用openweathermap API获取全世界主要城市天气信息
- golang flag包使用示例:接收命令行参数
- 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则
- 送福利:ROKID 语音开发板免费送,开启你的物联网之旅
- Sentinel 基于Nacos规则持久化-推模式
- (二分+区间搜索 )Mountain Walking(poj2110/poj2922)
- JMETER java.net.SocketException: Connection reset 报错解决方案
- C/C++ 知识点---链表操作
- 【IScroll深入学习】解决IScroll疑难杂症
- 在mysql 使用binlog日志
- 软考信息安全工程师教程第二版
- 光伏补贴双轨制仍将延续
- swfobject 2.0 使用
- 三位如花女人的多彩理财生活
- CSS常用五类选择器,经典好文
- 无法找到模块“vue-awesome-swiper/dist/ssr”的声明文件
- 中小型运维团队如何设计运维自动化平台
- Linux设备模型_导航篇
热门文章
- [android] 百度地图开发 (三).定位当前位置及getLastKnownLocation获取location总为空问题
- Oracle SQL Loader切身实例
- Python 实时语音识别
- 券商量化交易接口使用要求是什么?
- 荧光成像技术原理ICG-PEG-N3/COOH/NH2/Alkyne吲哚菁绿-聚乙二醇-叠氮
- wireshark 设置vlan支持
- 专抓猫扑美女贴图版!21000张图片浏览~
- 谭铁牛院士荣获国际模式识别最高奖
- 鲁大师电动车智能化测评第11期
- java开发工具IntelliJ IDEA全面教程合集