layout.xml中需要'paddingLeft'和'paddingStart',但custom_style.xml

时间:2016-09-11 20:22:39

标签: android xml android-layout

我目前在Udacity Android项目上工作,我注意到一些我似乎找不到答案的东西。使用自定义样式资源从layout.xml文件中删除样式方面是我正在尝试学习和正确使用的东西。

但是,我遇到了一个问题。

如您所知padding,建议您同时使用paddingStartpaddingEnd paddingLeftpaddingRight,原因如下:< / p>

  1. 从右到左的方向支持
  2. 较低的API级支持(我相信{1}}和start始于API 17)
  3. 在布局中,Android Studio IDE建议使用这两种方法(我假设使用右侧和左侧是后备,以防您使用旧版本的Android)。但是,在将完全选项移植到style.xml时,我会收到一个错误,即缺少可用的end API 17支持(我的项目是API 15)。 start/endleft选项如何不允许rightend存在于样式资源中?

    示例:

    在应用样式资源之前,这是一个工作 layout.xml 的代码段:

    start

    这是一个样式表(带有错误),它接受来自 layout.xml 文件的样式,并将它们添加到名为 custom_styles.xml 的样式资源中。 ..

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingStart="15dp"
        android:paddingEnd="15dp"  />
    

    错误位于<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,并且只是声明项目的API级别为低以支持该级别。我在上面添加的 layout.xml 代码段中没有出现此错误。

    在这种特殊情况下,样式资源和布局资源有什么区别?

1 个答案:

答案 0 :(得分:1)

是的,你是对的,你可以使用./a.out --bench&amp; paddingRight。您只需右键单击错误,然后在文件中选择忽略它。或者,您可以使用paddingEnd

paddingEnd创建一个具有相同样式的新样式文件