【问题标题】:Define common styles in android drawables在 android drawables 中定义常用样式
【发布时间】:2015-03-11 21:41:55
【问题描述】:

我正在尝试在 android 中设置列​​表项的样式。我正在使用以下 xml 可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true">
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <solid android:color="#882980b9"></solid>
                <corners android:radius="@dimen/margin"></corners>
            </shape>
        </item>
        <item android:bottom="2dp">
            <shape android:shape="rectangle">
                <solid android:color="@android:color/white"></solid>
                <corners android:radius="@dimen/margin"></corners>
            </shape>
        </item>
        <item>
            <shape android:shape="rectangle">
                <solid android:color="#333498db"></solid>
                <corners android:radius="@dimen/margin"></corners>
            </shape>
        </item>
    </layer-list>
  </item>
  <item>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <solid android:color="#bdc3c7"></solid>
                <corners android:radius="@dimen/margin"></corners>
            </shape>
        </item>
        <item android:bottom="2dp">
            <shape android:shape="rectangle">
                <solid android:color="@android:color/white"></solid>
                <corners android:radius="@dimen/margin"></corners>
            </shape>
        </item>
    </layer-list>
  </item>
</selector>

如您所见,有些元素是重复的。有没有办法提取常见的形状,以便它们在两种状态下都可用,这样它们只能在一个地方更新?像我们在 css 中所做的那样?

.normal {
    /* common styles */
}
.normal:hover {
    /* only overriding/extra styles */
}

这可能吗?

【问题讨论】:

    标签: android styles drawable


    【解决方案1】:

    您可以将形状可绘制对象放入单独的文件中,并从您的图层列表项中引用。

    item 上有一个 android:drawable="" 属性。

    看这里:

    http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多