【问题标题】:Setting alpha of drawable through xml通过xml设置drawable的alpha
【发布时间】:2011-10-17 11:20:56
【问题描述】:

我们可以通过 XML 为它的禁用状态设置 drawable 的 alpha 吗?例如通过使用 android:state_disable。

【问题讨论】:

  • 问题不清楚。请提及您的正确要求,然后我们可以帮助您。我们可以禁用视图(按钮、图像按钮等),它包含可绘制对象。为什么要将 alpha 设置为 drawable 以禁用它?

标签: android xml android-layout xml-drawable


【解决方案1】:

这是我的解决方案,希望有人觉得这很有用。是的,这是一个旧帖子,但是像这样的帖子需要一个今天有效的答案,因为它们会在您搜索时出现。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false">
        <bitmap android:alpha="@integer/disabled_alpha" android:src="@drawable/item"/>
    <item/>
    <item android:state_enabled="true" android:drawable="@drawable/item" />
</selector>

【讨论】:

    【解决方案2】:

    实际上我们不能为drawable设置alpha,你应该使用这个 setAlpha(int alpha) 为drawable指定一个alpha值。

    【讨论】:

      【解决方案3】:
      Drawable card_water_wave = getResources().getDrawable(R.drawable.textview_back);
      card_water_wave.setAlpha(150);
      

      【讨论】:

        【解决方案4】:

        查看我对类似问题的回答: https://stackoverflow.com/a/29078730/562365

        基本上,您可以使用 BitmapDrawable 的 alpha 值,然后在选择器中使用该可绘制对象。

        【讨论】:

          猜你喜欢
          • 2013-05-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多