android浮动透明对话框,android-在活动顶部创建一个透明对话框

在Android中,开发者试图创建一个全屏透明的对话框,该对话框位于活动之上但不会改变状态栏和通知栏的显示。尝试了多种解决方案,如showCase库和superToolTips库,以及直接在活动窗口中添加视图,但都无法达到预期效果。问题在于对话框虽然全屏,却不透明。通过修改代码,最终实现了全屏、透明且不影响底层内容显示的对话框。关键在于设置窗口属性,包括透明背景和尺寸调整。
摘要由CSDN通过智能技术生成

背景

我正在尝试在当前活动之上放置一层,以解释当前屏幕上正在发生的事情,类似于contact + app上发生的事情。

我知道有一些解决方案(例如showCase库和superToolTips库),并且我也知道可以通过将其添加到活动窗口中来创建视图并将其设置在顶部,但是我需要将整个视图 对话框顶部。

问题

无论我尝试什么,每种解决方案都无法按我需要的方式工作。

简而言之,我需要的是:

全屏对话框。

动作栏,通知栏和后面活动的内容没有变化(视觉上和逻辑上没有变化),这意味着对话框后面的所有内容与显示对话框之前的相同。

除了我用于对话框的视图(应该正常显示)以外,其他视图都是透明的。

我尝试过的

可悲的是,我总是只得到我需要的东西的一部分。

这是我的代码:

styles.xml:

@null

true

@null

@android:style/Animation.Dialog

stateUnspecified|adjustPan

main activity.Java:

...

final Dialog dialog = new Dialog(this, R.style.full_screen_dialog);

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

dialog.setContentView(R.layout.floating_tutorial);

dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);

dialog.getWindow().setFormat(PixelFormat.TRANSLUCENT);

dialog.show();

这段代码会将布局放在活动的顶部,但是遗憾的是,即使我已经设置了透明度,它也没有任何透明度。 我使用的布局非常简单,这就是为什么我不发布它的原因。

我想念什么? 应该怎么做才能修复代码?

如何使对话框既透明又全屏,并且不会更改操作栏和通知栏。

工作方案

编辑:找到一个好的解决方案后,这是工作代码:

@Override

protected void onCreate(final Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final Dialog dialog = new Dialog(this);

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

dialog.setContentView(R.layout.floating_tutorial);

final Window window = dialog.getWindow();

window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);

window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

dialog.show();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值