首页 > 解决方案 > 如何将 alpah 设置为在xml中?

问题描述

我有这个@color 选择器:my_color.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:alpha="0.10" android:color="@color/og_ripple_base_dark" android:state_pressed="true"/>
  <item android:alpha="0.12" android:color="@color/og_ripple_base_dark" android:state_focused="true"/>
  <item android:alpha="0.04" android:color="@color/og_ripple_base_dark" android:state_hovered="true"/>
</selector>

我想将它映射到 @drawable 选择器

<solid>没有android:alpha

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true">
    <shape android:shape="oval">
      <solid android:alpha="0.10" android:color="@color/og_ripple_base_light"/>
    </shape>
  </item>
  <item android:state_focused="true">
    <shape android:shape="oval">
      <solid android:alpha="0.12" android:color="@color/og_ripple_base_light"/>
    </shape>
  </item>
  <item android:state_hovered="true">
    <shape android:shape="oval">
      <item android:alpha="0.04" android:color="@color/og_ripple_base_light"/>
    </shape>
  </item>
</selector>

所以我也试过这个,但是当我在模拟器上运行时,alpha通道被忽略了:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true">
    <shape android:shape="oval">
      <solid android:color="@color/my_color"/>
    </shape>
  </item>
</selector>

如何在 xml 中指定基色 + alpha 并将此值设置为我的 s 标签?

标签: androidandroid-drawableandroid-themeandroid-stylesandroid-shape

解决方案


推荐阅读