【问题标题】:Setting alpha to bitmap in XML drawable not working on API Level 20 and below在 XML drawable 中将 alpha 设置为位图不适用于 API 级别 20 及以下
【发布时间】:2016-05-25 06:48:42
【问题描述】:

我在XML(选择器)中将alpha设置为bitmap,它在API level 23 , 22 , 21上工作正常,但在API level 20及以下API levels上不起作用。

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<!--State Selected-->
<item android:drawable="@drawable/item_selected" android:state_selected="true"/>
<!--State Normal-->
 <item >
    <bitmap android:src="@drawable/item_selected" android:alpha="0.6"/>
</item>

编辑

请使用XML向我建议一些替代方案。

【问题讨论】:

  • 是的,我已经编辑了相关的 xml。
  • 你的意思是integer?
  • 我试过了,还是不行。
  • 你为什么不尝试使用android:tint 而不是alpha

标签: android android-bitmap android-selector xml-drawable


【解决方案1】:

以编程方式设置alpha 将起作用。尝试这个。

我试过你的选择器作为这个ImageView的背景:

<ImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/select"
    />

我的java代码:

imageView = (ImageView)findViewById(R.id.imageView);
    imageView.setAlpha(0.5f);
    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Toast.makeText(MainActivity.this, ""+imageView.isSelected()
                    , Toast.LENGTH_SHORT).show();
            if(imageView.isSelected())
            {
                imageView.setSelected(false);
                // set alpha 0.5
                imageView.setAlpha(0.5f);
            }
            else {
                imageView.setSelected(true);
                // set alpha 1
                imageView.setAlpha(1f);
            }
        }
    });

【讨论】:

  • 好的..我正在检查
  • 我没有创建 Image 的点击侦听器,因为 ImageView 用于 TabLayout 的自定义 layout
  • 把这个放到OnTabChanged()。将当前选项卡的 alpha 设置为 1,将所有其他选项卡设置为 0.5
【解决方案2】:

位图元素的 alpha 属性是在 API 21 中添加的 所以无法在 xml 中设置 alpha。 您可以根据 Janki Gadhiya 的回答使用代码设置 alpha。

【讨论】:

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