【发布时间】:2019-03-16 10:52:57
【问题描述】:
有时,当我想将 SDK 21+ 功能添加到我的布局时,我需要在另一个文件中创建整个布局。这对我来说很重,因为我想在一个布局中执行或检查所有内容。更多的布局看起来很复杂且难以管理。我可以做这样的事情,而不是为不同的 SDK 版本提供两种布局:
<ImageView
android:id="@+id/x"
android:layout_width="16dp"
android:layout_height="wrap_content"
<compatibility sdk_higher_than="21">
android:elevation="xdp" //my problem not about the elevation. Its just an example that pops in my mind about the compatibility.
</compatibility>
app:srcCompat="@drawable/ic_x" />
我可以以编程方式制作这些东西,但是当我应该立即在设计器上看到视图时,以编程方式制作它对我来说不是一个好方法。如果有针对此问题的良好做法或想法,任何人都可以启发我吗?
【问题讨论】:
-
你可以使用
app:elevation="xdp" -
我没明白你的意思,但更新了问题。你可以检查一下。
-
不支持的 XML 属性将被忽略(当然假设它们存在于更高版本中)。你不需要包装它
-
是的,实际上我不擅长 XML 的基础知识,只知道发生了什么。问题是关于“我们可以做出类似的表达吗?”和“Android 的路线图上有类似的东西吗?”