1

我想在远程视图中以编程方式更改图像视图的 alpha 值,但它根本没有效果。

我如何分配它:

v.setInt(vR.id.imageView, "setAlpha", alpha);

我如何声明它:

<ImageView
      android:id="@+id/widget_agenda_bg_dark"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_margin="5dip"
      android:src ="@drawable/background"
      android:scaleType="fitXY"/>

资源 bg 是一个形状:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
     <stroke android:width="0dp" android:color="#FFFFFFFF" />
     <gradient android:startColor="#FF000000" android:endColor="#FF7A7A7A"
            android:angle="315"/>

    <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp"
     android:topLeftRadius="7dp" android:topRightRadius="7dp"/>
</shape> 

一切都正确显示并且不会引发任何错误,但它仍然不会改变 alpha 值......知道吗?

4

1 回答 1

0

我不知道 setInt 方法,但是您在渐变中使用 android:startColor="#FF000000" ,其中前两个字母“FF”用于不透明度,其他六个字母定义十六进制颜色。

如果您声明 android:startColor="#00000000" 您的 startColor 将完全不可见,类似 android:startColor="#80000000" 的东西会有点透明。

于 2012-02-14T16:15:03.197 回答