我正在尝试将透明图像显示为弹出窗口。为此我根据我的需要定制了弹出窗口,并在popupwindow initview()中膨胀相对布局。
在那个相对布局中,我添加了一个透明图像,但是当我运行应用程序时,它在矩形框内部是一个椭圆形图像,所以不是透明,我可以在椭圆形图像周围看到灰色。
我没有popupwindow的选项,因为我应该在后台屏幕中使用控件。
我已尝试为此相对布局设置透明样式,尽管它不起作用。
任何人都可以告诉我如何做到这一点
或
android popupwindow中有一个错误。
提前致谢。
答案 0 :(得分:2)
有正确的解决方案。问题在于背景 popupWindow是在活动的主题样式中定义的。
解决方案:
为应用程序定义您的自定义主题 显示PopupWindow的活动。
自定义条目“android:popupWindowStyle”
<style name="CustomTheme" parent="@android:style/Theme.NoTitleBar">
<item name="android:popupWindowStyle">@style/PopupWindow</item>
</style>
定义popupWindowStyle。条目“android:popupBacground” 使用此特定的方法定义所有popupWindow显示的背景 主题。
<style name="PopupWindow" parent="@android:style/Widget.PopupWindow">
<item name="android:popupBackground">@color/transparent</item>
</style>
将CustomTheme主题添加到活动或应用程序
<application
...
android:theme="@style/CustomTheme" >
popupWindow将以透明背景显示。
答案 1 :(得分:1)
在弹出窗口中使用android主题..如果是活动,请在Manifest中声明它。
机器人:主题= “@机器人:风格/ Theme.Translucent”
修改强> 像这样设置对话框的主题
mDialogTax = new Dialog(mContext, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
答案 2 :(得分:1)
我们找到了一个解决方案 - 在自定义弹出窗口时,我们必须将背景设置为null。 setBackgroundDrawable(NULL);然后它奏效了。
答案 3 :(得分:0)
Laurent,
我们需要在透气后设置透明度:
inflatedView.setBackgroundColor(android.R.color.transparent);
我们锚定PopupWindow的组件不需要是透明的,即使它可能是一个布局。
不需要设置PopupWindow的背景:
<击> this.setBackgroundDrawable(null);
击>
不需要设置Alpha值:
<击> this.getBackground().setAlpha(<value>);
击>
如果是PNG,则设置图像背景:
<击> imageView.setBackgroundColor(android.R.color.transparent);
击>
不需要在其xml定义中设置图像背景:
<击> 撞击>
<击><ImageView android:id="@+id/myimage"
android:background="@android:color/transparent"
/>
击> <击> 撞击>
谢谢...