【问题标题】:How can I make an image transparent on Android?如何在 Android 上使图像透明?
【发布时间】:2011-07-01 23:20:17
【问题描述】:

我使用的是线性布局和框架布局。在线性布局中,我保留一个图像作为背景,在框架布局中,我保留一个 imageView。在那个 imageView 中,我给出了一个图像。

现在我想让第二张图片(即在 imageView 中)透明。我该怎么做?

【问题讨论】:

标签: android transparency


【解决方案1】:

试试这个:

ImageView myImage = (ImageView) findViewById(R.id.myImage);
myImage.setAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.

注意setAlpha(int) 已被弃用,取而代之的是 setAlpha(float),其中 0 表示完全透明,1 表示完全不透明。像这样使用它:myImage.setAlpha(0.5f)

【讨论】:

  • setAlpha(int) 已弃用,取而代之的是 setAlpha(float),其中 0 完全透明,1 完全不透明 myImage.setAlpha(0.5f);
【解决方案2】:

android:alpha 在 XML 中执行此操作:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/blah"
    android:alpha=".75"/>

【讨论】:

    【解决方案3】:

    在 ImageView 上设置一个 id 属性:

    <ImageView android:id="@+id/myImage"
    

    在您希望隐藏图像的代码中,您需要以下代码。

    首先,您需要对 ImageView 的引用:

    ImageView myImage = (ImageView) findViewById(R.id.myImage);
    

    然后,将可见性设置为 GONE:

    myImage.setVisibility(View.GONE);
    

    如果您想在其他地方有代码使其再次可见,只需以相同方式将其设置为可见:

    myImage.setVisibility(View.VISIBLE);
    

    如果您的意思是“完全透明”,则上面的代码有效。如果您的意思是“部分透明”,请使用以下方法:

    int alphaAmount = 128; // Some value 0-255 where 0 is fully transparent and 255 is fully opaque
    myImage.setAlpha(alphaAmount);
    

    【讨论】:

    • 现在透明度也不起作用。当我将可见性设置为 GONE 时,它的工作方式与不可见
    • 编辑代码示例以支持部分透明。我误解了原来的问题
    【解决方案4】:

    如果您在 XML 文件中,请使用以下内容使您的 imageview 透明!

     android:background="@null" 
    

    【讨论】:

      【解决方案5】:

      在较新版本的 Android 上(至少在 Android 4.2 (Jelly Bean) 之后),setAlpha(int value) 方法已被弃用。相反,请使用 setAlpha(float value) 方法,该方法采用 0 和 1 之间的浮点数,其中 0 表示完全透明,1 表示不透明。

      【讨论】:

        【解决方案6】:

        由于 setAlpha int 已被弃用,可以使用 setImageAlpha (int)

        ImageView img = (ImageView) findViewById(R.id.img_image);
        img.setImageAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
        

        【讨论】:

          【解决方案7】:

          使用setAlpha(float alpha) 设置透明度。如果我在 float 中使用 alpha 值,以下代码对我有用,0 - 1。

          • 0:全透明
          • 0.5 - 50%:透明
          • 1:完全不透明

            ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView); imageView.setImageResource(mResources[位置]); imageView.setAlpha(.80f);

          【讨论】:

            【解决方案8】:

            ImageView 类型中的方法setAlpha(int) 已弃用。

            代替

            image.setImageAlpha(127);
            //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
            

            【讨论】:

              【解决方案9】:

              在 XML 中,使用:

              android:background="@android:color/transparent"
              

              【讨论】:

                【解决方案10】:

                Image alpha 将不透明度设置为 ImageView,这会使 Image 变得模糊,请尝试在 ImageView 中添加 tint 属性

                 android:tint="#66000000"
                

                也可以通过编程方式完成:

                imageView.setColorFilter(R.color.transparent);
                

                您需要在 colors.xml 中定义透明颜色的地方

                <color name="transparent">#66000000</color>
                

                【讨论】:

                  【解决方案11】:

                  对于 20% 的透明度,这对我有用:

                  Button bu = (Button)findViewById(R.id.button1);
                  bu.getBackground().setAlpha(204);
                  

                  【讨论】:

                    【解决方案12】:

                    用途:

                    ImageView image = (ImageView) findViewById(R.id.image);
                    image.setAlpha(150); // Value: [0-255]. Where 0 is fully transparent
                                         // and 255 is fully opaque. Set the value according
                                         // to your choice, and you can also use seekbar to
                                         // maintain the transparency.
                    

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2012-05-23
                      • 2023-04-11
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-08-12
                      • 1970-01-01
                      • 2015-01-19
                      • 1970-01-01
                      相关资源
                      最近更新 更多