
获取Android内置WebView内核版本
获取Android内置WebView内核版本竟然能遇到这样奇葩的事情,网页用的技术过于新颖,以至于只支持高版本Chromium内核的,低版本安卓系统中内置的内核版本较低,无法加载前端页面。1、设置查看在系统设置里 > 应用 > 应用管理 > 显示系统应用,查看WebView组件:2、页面查看通过WebView发起的网络请求,都会带上浏览器的UA,通常页面都可以通过UA判断浏览器的内核版本。这里有两
# 标签
共 118 篇文章

获取Android内置WebView内核版本竟然能遇到这样奇葩的事情,网页用的技术过于新颖,以至于只支持高版本Chromium内核的,低版本安卓系统中内置的内核版本较低,无法加载前端页面。1、设置查看在系统设置里 > 应用 > 应用管理 > 显示系统应用,查看WebView组件:2、页面查看通过WebView发起的网络请求,都会带上浏览器的UA,通常页面都可以通过UA判断浏览器的内核版本。这里有两

颜色矩阵ColorMatrix1、ColorMatrix颜色矩阵ColorMatrix是一个用来表示三原色和透明度的4x5的矩阵。1.1、介绍将ColorMatrix表示为一个数组的形式如下:一个颜色则使用 [R, G, B, A] 的方式进行表示,所以矩阵与颜色的计算方式则为:从上述的公式可以看出,颜色矩阵的功能划分如下:a, b, c, d, e 表示三原色中的红色f, g, h, i, j
Android ColorStateList 详解1、ColorStateList 概述ColorStateList 是 Android 中用于管理不同状态下颜色的类,它允许为 View 的不同状态(如按下、聚焦、禁用等)设置不同的颜色。ColorStateList 广泛应用于按钮、文本框等控件的颜色管理,是实现响应式 UI 的重要工具。核心特性: - 支持多种 View 状态的颜色定义 - 可以

布局彩蛋:BlinkLayout闪烁布局解析XML布局的过程中有一个彩蛋,在LayoutInflater类中的tryCreateView()方法里:其中TAG_1995标签的定义如下,在这里还能看到熟悉的两个布局tag:<merge/>和<include/>。1、使用<blink/>新建一个普通项目,在XML布局中尝试一下<blink/>这个标签:忽略AndroidStudio的Cannot re

View布局参数LayoutParams为了计算布局实现动效和LayoutParams密切接触有一段时间,LayoutParams彻底玩明白了。1、LayoutParamsLayoutParams直译为布局参数,是定义在ViewGroup中的静态内部类。1.1、LayoutParams用途LayoutParams类的注释清楚的写明此类的用途:LayoutParams是子View用来告诉它们的父布局

深入理解MeasureSpec在View的绘制流程一文中提及到MeasureSpec,但是并没有涉及太多,只是一带而过。MeasureSpec是View测量过程中重要的测量依据,这一篇中阅读MeasureSpec源码理解其作用。1、MeasureSpec介绍MeasureSpec完整的名称是measure specification,直译为中文叫测量规格。1.1、测量模式掩码在了解View的三种测
AsyncLayoutInflater异步加载布局提到应用性能优化,首先就是布局优化:布局臃肿、层级太深等等会导致绘制卡顿,严重的话影响用户体验。在布局优化一文中,提到布局优化相关的知识。如果你的应用布局实在是太复杂加载很耗时,甚至造成应用的卡顿,该如何优化呢?思路就是将耗时的布局加载放到子线程中,加载完毕再回到主线程显示,这就是AsyncLayoutInflater的做法。1、AsyncLayo

OptionsMenu:选项菜单Android中菜单有三种:OptionsMenu、ContextMenu和PopupMenu。后两种见之前写过两篇博客:ContextMenu:上下文菜单和PopupMenu:弹出菜单。1、OptionsMenu简介OptionsMenu是应用的主菜单,另外两种作为菜单的补充。很早之前的旧Android手机中按物理菜单键会弹出OptionsMenu。一般在状态栏上

Android坐标系Android自定义View开发,首先必须要对Android中的坐标体系非常熟悉。它不同于我们以前数学中所学的笛卡尔坐标系:1、绝对坐标系Android中定义整个物理屏幕左上角为原点 O,包括状态栏在内。X轴水平向右,Y轴竖直向下。2、视图坐标系Android中的另一个坐标系叫做视图坐标系,不是参照绝对坐标系,而是View参照父控件。View中有多个获取坐标及控件大小相关的方法
BitmapFactory详解Android提供了BitmapFactory类来创建Bitmap位图。关于Bitmap详见Bitmap位图介绍。1、BitmapFactoryBitmapFactory顾名思义,Bitmap工厂,专门用于创建Bitmap位图。该类功能比较单一,一眼就能看懂。主要有两点:创建Bitmap的静态方法,以及创建Bitmap的选项Options。参考 Reference >

Bitmap位图介绍Android中的Bitmap和Java中的Bitmap可不一样,它专门用来存储图像。给ImageView显示,或者用来存储Canvas画布绘制的图像。1、了解Bitmap关于Bitmap有一些知识点需要先了解。1.1、Bitmap用途Bitmap最常用的两种用途,前面已经说到:①设置给ImageView显示②用来保存Canvas画布上绘制的图案1.2、Bitmap.Confi

InsetDrawable:内嵌Drawable更多Drawable详见Android Drawable。1、InsetDrawableInsetDrawable将其它Drawable内嵌到自己,在四周预留空白。当视图需要的背景小于视图的实际边界时,使用此方法很有用。当然之前学到的LayerDrawable:叠加图层也可以实现该需求。2、语法参考Inset drawable。2.1、语法Inset

TransitionDrawable:淡入淡出Drawable更多Drawable详见Android Drawable。1、TransitionDrawableTransitionDrawable继承自LayerDrawable,算是对层级LayerDrawable的扩展(详见LayerDrawable:叠加图层),不过最多只支持两个子<item>。1.1、简介旨在在第一层和第二层之间淡入淡出。调

LevelListDrawable:按级别选择Drawable更多Drawable详见Android Drawable。1、简介LevelListDrawable管理多个备用Drawable的资源,每个Drawable都分配了一个最大数值。 使用setLevel(int )设置对象的级别值将为图像加载下一个大于或等于其max属性的值。 LevelListDrawable的一个很好的用法示例是电池电

LayerDrawable:叠加图层今天要介绍的Drawable只中的层叠Drawable:LayerDrawable,通过将一些图片层叠的方式组合起来,实现特殊的显示效果。比如EditText输入框的下划线背景:更多Drawable详见Android Drawable。1、LayerDrawableLayerDrawable是管理其他可绘制对象阵列的可绘制对象。列表中的每个可绘制对象均按照列表顺