rosu

rosu

V2EX 第 163281 号会员,加入于 2016-03-14 16:20:02 +08:00
今日活跃度排名 14195
根据 rosu 的设置,主题列表只有在你登录之后才可查看
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
rosu 最近回复了
4 天前
回复了 zpxshl 创建的主题 Android 为什么 xml 中 view 的最大高度是 2^23 -1
@zpxshl #12 2^23 -1 的问题,怀疑和你的父 ViewGroup 有关系。我自定义布局后,重写当前尺寸(`setMeasuredDimension()`),可以设置为 2^23 。
4 天前
回复了 zpxshl 创建的主题 Android 为什么 xml 中 view 的最大高度是 2^23 -1
@rosu 手抖打错:0x00ffffff 高 8 位是零。其他值与之进行 and 运算后只剩下 24 位。
4 天前
回复了 zpxshl 创建的主题 Android 为什么 xml 中 view 的最大高度是 2^23 -1
@zpxshl 是 0x00ffffff 。高两
2 位是零。mask 后只剩下低 24 位。而
2^24 二进制是 25 位,低 24 位全部是 0 呀。
4 天前
回复了 zpxshl 创建的主题 Android 为什么 xml 中 view 的最大高度是 2^23 -1
@liucccc #6 讲错。应该是 24 位。
4 天前
回复了 zpxshl 创建的主题 Android 为什么 xml 中 view 的最大高度是 2^23 -1
@zpxshl 昨天在路上没认真考虑,确实回复的不对。

刚刚看了下源码,发现是 `measureWidth` 大小直接被限制了:

```
public static final int MEASURED_SIZE_MASK = 0x00ffffff;

public final int getMeasuredWidth() {
return mMeasuredWidth & MEASURED_SIZE_MASK;
}
```

https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/view/View.java;drc=95709ba69f9285cceb4515d86eff55793bc96eec;l=16483

虽然 MeasureSpec 是取了 30 位。但是 `onMeasure` 时期已经被限制了大小了。无论怎么取,都只能最多拿到 3 个字节( 2^23) 的最大值。其实如果超过 2^23 也不是都是 0 。如果你试试 (2^ 24 + 1) 就会发现值为 1 。你刚好只测试了 2 的倍数,所以 AND 的低 24 位全为 0 了。

至于为什么是 30 位,这个我就不清楚啦。
5 天前
回复了 zpxshl 创建的主题 Android 为什么 xml 中 view 的最大高度是 2^23 -1
然后还要转 dp 的呀,XML 读的是 dp 的值。所以要小一些。
5 天前
回复了 zpxshl 创建的主题 Android 为什么 xml 中 view 的最大高度是 2^23 -1
width 和 height 可不就是 int 型嘛...
我又来了🥳

开源一个打水印的 APP,以防照片被小人泄露、利用
https://www.v2ex.com/t/703566
41 天前
回复了 LaTero 创建的主题 Android 安卓不询问用户,默认授予位置权限
位置是危险权限。只可能是你的使用版本的 LOS 有 bug 。你可以直接试试其他软件就知道了。
42 天前
回复了 zhz3721 创建的主题 V2EX v2ex 有没有安卓客户端
第三方可以试试 v2er 。Play 商店可以下载。
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2460 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 12:34 · PVG 20:34 · LAX 05:34 · JFK 08:34
♥ Do have faith in what you're doing.