【问题标题】:How to use style in drawable xml like shape, stoke?如何在可绘制的 xml 中使用样式,如形状、斯托克?
【发布时间】:2016-12-30 12:16:46
【问题描述】:

我尝试在样式中引用的整个应用程序中应用主题颜色。我坚持从可绘制 xml 中的样式应用颜色。下面的方法不起作用,但需要这样的东西。

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <solid style="@style/sample" />

    <stroke
        android:width="3dip"
        style="@style/sample" />

    <corners android:radius="10dip" />

    <padding
        android:bottom="0dip"
        android:left="0dip"
        android:right="0dip"
        android:top="0dip" />

</shape>

【问题讨论】:

    标签: android styles


    【解决方案1】:

    不是设置样式,而是在 values 文件夹中的 color.xml 中定义一种颜色,并将其添加到 xml 中为 android:color=@color/yourColor。形状没有样式属性。

    【讨论】:

    • Ravi,我知道颜色属性。我正在使用另一个应用程序来引用外部项目。在具有可绘制文件夹的外部项目中。当我使用外部项目作为库时,我需要从主项目中的样式中引用。
    • 如您所见,您无法将样式添加到形状 xml。您不能参考其他应用中的颜色而不是样式吗?
    • 这就是为什么我向所有人提出疑问!任何方式都可以这样使用。
    • 不,你不能用一种风格来实现你想要的。
    • @Ravi,然后说其他方式??
    【解决方案2】:

    要添加颜色,您可以使用&lt;solid android:color="@color/primary_light" /&gt;

    一个工作代码示例:

    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
        <solid android:color="@color/primary_light" />
        <stroke android:width="1dip" android:color="#FFFFFF" />
       <corners android:radius="8dp"/>
    
    </shape>
    

    【讨论】:

    • 我知道这样我不新鲜。我要问的是“我正在使用另一个应用程序来引用外部项目。在具有可绘制文件夹的外部项目中。当我使用外部项目作为库时,我需要从主项目中的样式中引用。”
    【解决方案3】:

    我不认为你可以用一个样式来描边,请看this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多