android浮动透明对话框,android-自定义透明对话框(windowBackground不存在?)

博客作者试图在Android应用中创建一个具有半透明背景的自定义对话框。他们通过代码实现了这一效果,但希望使用XML来定义背景。尝试了不同的方法,包括设置主题和使用`android:windowBackground`属性,但都没有成功。问题在于`android:windowBackground`在他们的环境中不可用。最终,他们通过扩展`Dialog`类并在其中设置背景来解决了问题。
摘要由CSDN通过智能技术生成

我正在尝试创建具有半透明背景的自定义对话框.我设法使其通过以下代码工作:

getWindow().setBackgroundDrawableResource(R.color.bg_tran);

其中bg_tran ==#A0000000.但是,我宁愿使用XML,因为我将它用于几个不同的自定义对话框类.仅使用android:background不起作用.也没有将主题设置为@android:style / Theme.Translucent起作用.

我发现了几篇有关使用android:windowBackground属性的文章.但是android:windowBackground属性不存在.意味着eclipse不会将其显示为自动完成的选项.我已经检查了样式表和实际的layout.xml.由于我正在为2.2进行编译,因此我认为是该问题,并将构建目标更改为4.0.3.没有修复.无论如何,我什至都尝试过明确使用它,但是它不起作用.我搜索了Android Dev网站,甚至找不到描述此属性的页面.除了偶尔提及,没有任何东西.同样查找setBackgroundDrawableResource并不能告诉我什么是等效的XML属性标记.我非常困惑.我想念什么?

更新:

如果不清楚,是的,我尝试在主题中进行设置.不起作用.这是我定义的主题:

@color/bg_tran

true

wrap_content

wrap_content

解决方法:

您需要为对话框定义一个自定义主题.

true

@android:color/transparent

...

...

更新:

通过扩展Dialog类,可以在对话框中实现所需的功能.在此派生类中设置可绘制的窗口背景.

public class CustomDialog extends Dialog

{

public CustomDialog (final Context context)

{

super(context);

// This is the layout XML file that describes your Dialog layout

this.setContentView(R.layout.myDialogLayout);

getWindow().setBackgroundDrawableResource(R.color.bg_tran);

}

}

标签:dialog,transparent,xml,android

来源: https://codeday.me/bug/20191201/2080226.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值