我目前正在从事一个项目,我注意到了一些我似乎找不到答案的东西。使用自定义样式资源从layout.xml文件中删除样式方面是我正在努力学习和正确使用的东西。
然而,我遇到了一个问题。
正如您所知道的,对于padding
,建议将paddingStart
和paddingEnd
与paddingLeft
和paddingRight
同时使用,这有几个原因:
start
和end
是从API 17开始的)在布局上,Android建议同时使用这两种方法(如果您使用的是旧版本的Android,那么右和左应该是后盾)。但是,当将确切的选项移植到style.xml时,会出现一个错误,说明缺乏API 17支持来使用start/end
(我的项目是API 15)。为什么left
和right
选项不允许end
和start
存在于样式资源中?
示例:
在应用样式资源之前,下面是一个工作的layout.xml的片段:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingStart="15dp"
android:paddingEnd="15dp" />
下面是一个样式表(有一个错误),它从这个layout.xml文件中获取样式,并将它们添加到名为layout.xml的样式资源中。
<style name="CustomStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:paddingLeft">15dp</item>
<item name="android:paddingRight">15dp</item>
<item name="android:paddingStart">15dp</item>
<item name="android:paddingEnd">15dp</item>
错误发生在paddingStart
和paddingEnd
上,并且简单地指出项目的API级别太低以支持这一点。在我前面添加的layout.xml片段中没有发生此错误。
在这种特殊情况下,样式资源和布局资源之间有什么区别?
发布于 2016-09-12 00:02:03
是的,你说得对,你可以同时使用paddingRight
和paddingEnd
。您可以简单地右键单击错误并在文件中选择忽略它。可供选择,您可以在values-v17/style.xml
上创建一个与paddingEnd样式相同的新样式文件。
https://stackoverflow.com/questions/39440293
复制相似问题