屏幕适配方案
屏幕适配方案概述 1、系统布局 match_parent, wrap_content LinearLayout 的 weight RelativeLayout ConstraintLayout 的 constraint 2、单位(dp/sp 方案) dp 一般适配控件宽高 sp 一般设配字体 dp 方案缺点:相同分辨率的手机,尺寸不同,dpi 不...
屏幕适配方案概述 1、系统布局 match_parent, wrap_content LinearLayout 的 weight RelativeLayout ConstraintLayout 的 constraint 2、单位(dp/sp 方案) dp 一般适配控件宽高 sp 一般设配字体 dp 方案缺点:相同分辨率的手机,尺寸不同,dpi 不...
基础概念 dpi(ppi)、dip(dp)、px、sp、density、分辨率、屏幕尺寸概念 1、dpi 概念:dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120(px/inch),160 (px/inch) ,240 (px/inch) 。我一般称作像素密度,简称密度。单位是:像素/英寸 (px/inch) 。ppi 和 dpi 其实原理是相同的,都...
刘海屏 (异形屏、凹口屏幕) 适配 刘海屏都是在 Android O 及以上的的。 Android O(API27),官方还没有公布适配 API,各大厂商有自己的一套适配方案,适配起来比较麻烦,主要适配华为、OPPO、Vivo、小米、锤子。 Android P(API28),官方公布适配 API,各大厂商的 Android O 方案可能不适用了 适配场景:使用全屏或者沉浸这...
状态栏导航栏高度适配 状态栏 状态栏是否显示 /** * Return whether the status bar is visible. * @param activity The activity. * @return {@code true}: yes<br>{@code false}: no */ public static boolean isStatu...
全面屏适配 全面屏适配 Android8.0 以下为 2.1 就够了,Android8.0 及以上,要用 2.4 了 <meta-data android:name="android.max_aspect" android:value="2.4"/> 启动页图片适配 防止图片被裁剪,设计启动图时,需要预留安全区域。 虚拟导航键适配 ...
uniapp uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台 uniapp 的原生是采用 Weex 实现的,这个框架本身在原生实现中就有性能问题,所以,避免用它做完整 App,用来做跨端小程序是不错的。
Weex 开发环境安装 开发环境 JDK7.0+ AS Node.js npm weex webpack 注意: 如果安装失败,用 root 运行,前面加 sudo 1、安装 nodejs 直接https://nodejs.org/en/download/下载安装> 检测安装成功: node -v 2、安装 npm 安装完 nodejs 就会自带了 ...
Lifecycle 原理 1、类组成 Lifecycle(订阅关系管理) Lifecycle 被定义成了抽象类 public abstract class Lifecycle { // 添加观察者 @MainThread public abstract void addObserver(@NonNull LifecycleObserver observer...
ProcessLifecycleOwner 监听前后台切换 引入依赖 需要引入 androidx.lifecycle:lifecycle-process:<*> def version = "2.2.0" implementation "androidx.lifecycle:lifecycle-extensions:$version" Events 使用 ...
Lifecycle Lifecycle 基础 背景 用于将系统组件(Activity、Fragment 等等)的生命周期分离到 Lifecycle 类,Lifecycle 允许其他类作为观察者,观察 Activity/Fragment 组件生命周期的变化。 如 MVP 中的 Presenter,可以监听到 Activity 或 Fragment 中生命周期变化来做对应的操作。 使用...