java - 当相应设置 target 和 min sdk 时,为什么 LayoutParams.MATCH_PARENT 没有运行时异常?

标签 java android layout

有关使用 2.2 之前的 match_parent 的其他问题的答案表明应该使用 fill_parent 来实现安全的向后兼容性。

我注意到,当你的targetsdk设置为8或更大并且minsdk设置为7或更低时,使用match_parent或fill_parent是无关紧要的。我猜这是 b/c xml 被编译为二进制 blob,因此一旦应用程序打包到 apk 中,使用任何一个都无关紧要。

我觉得好奇的是为什么在 java 代码中在 2.1 设备上使用 LayoutParams.MATCH_PARENT 没有运行时错误。当尝试在代码中访问 LayoutParams.MATCH_PARENT 时,我希望看到 NoSuchClassMember 的某种 RuntimeException。

我猜测这可能涉及如何在 java 中编译类文件。任何见解表示赞赏。

最佳答案

使用任何一个都可以。 both have the same value 。在代码上,它会警告您它已被弃用,但它们是完全相同的东西。

不知道为什么谷歌会做出如此奇怪的改变。我喜欢以前的名称,因为它意味着它填充了父级的剩余空间,并且不匹配它,但这是我的意见。

关于java - 当相应设置 target 和 min sdk 时,为什么 LayoutParams.MATCH_PARENT 没有运行时异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11058359/

相关文章:

javascript - 当 div 离开屏幕的一侧时,动态地在容器 div 中居中? (水平导航布局)

javascript - 如何通过单击力导向网络中的节点来更新外部条形图

java - Java冒泡排序遇到问题

java - 有商业/开源 Swing 替代方案吗?

java - popBackStack 导致 java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState

android - 通过 SMS 深度链接 Facebook 应用程序

Android UI - Android水平 ScrollView

javascript - XMLHttpRequest 不会抛出错误,但不会调用 onload

android - 如何在普通项目中使用 SQLite 和 Xamarin

html - 如何不将元素包装在新行上?