首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能通过样式实现StateList绘图

不能通过样式实现StateList绘图
EN

Stack Overflow用户
提问于 2020-05-10 07:50:18
回答 1查看 26关注 0票数 0

ImageButton src属性的状态在presseddefault状态之间发生变化时(未触及),我将尝试更改它。我创建了下面的StateList绘图,名为ic_plus_states -

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/ic_plus_white" android:state_pressed="true" />
<!--Default State-->
    <item android:drawable="@drawable/ic_plus" />

</selector>

当我设置android:src="@drawable/ic_plus_states"时,它可以正常工作,但是当我使用包含完全相同属性的styles.xml中定义的样式时,它就不起作用了。我做错什么了吗?

我在我的styles.xml里用了这个-

代码语言:javascript
复制
<style name="ScoreButtons" parent="Widget.AppCompat.Button">
        <item name="android:tint">@color/colorPrimary</item>
        <item name="android:background">@drawable/button_states</item>
    </style>

    <style name="PlusButtons" parent="ScoreButtons">
        <item name="android:src">@drawable/ic_plus_states</item>
        <item name="android:contentDescription">@string/plus_button</item>
    </style>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-10 08:09:58

当我使用包含完全相同属性的styles.xml中定义的样式时,它不起作用。

这是因为您用样式定义了android:tintScoreButtons

如果您从android:tint中删除ScoreButtons。您将得到预期的输出。

代码语言:javascript
复制
<style name="ScoreButtons" parent="Widget.AppCompat.Button">
        <item name="android:background">@drawable/button_states</item>
    </style>

    <style name="PlusButtons" parent="ScoreButtons">
        <item name="android:src">@drawable/ic_plus_states</item>
        <item name="android:contentDescription">@string/plus_button</item>
    </style>

OR

您可以将android:tint="@null"设置为PlusButtons样式。

代码语言:javascript
复制
<style name="ScoreButton" parent="Widget.AppCompat.Button">
        <item name="android:tint">@android:color/holo_red_dark</item>
        <item name="android:background">@android:color/black</item>
    </style>

    <style name="PlusButton" parent="ScoreButton">
        <item name="android:tint">@null</item>
        <item name="android:src">@drawable/state_change</item>
    </style>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61708792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档