对不起我的英语:)。我需要模糊我的对话框活动背景,我尝试了这种方法
模糊警报对话框后面的背景
我用以下代码发送位图:
Bitmap back1 = takeScreenShot(MainActivity.this);
Bitmap back2 = fastblur(back1, 10);
Intent intent = new Intent(getApplicationContext(), FilterActivity.class);
intent.putExtra("back", back2);
startActivity(intent);
并在我的活动中接收位图:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(getIntent());
Bitmap back = intent.getParcelableExtra("back");
BitmapDrawable ob = new BitmapDrawable(getResources(), back);
getWindow().setBackgroundDrawable(ob);
setContentView(R.layout.filter_activity);
}
但它强迫我关闭logcat中的错误:
03-08 14:03:54.685 16735-16735/ir.aftabeshafa.shafadoc E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 13225428)
03-08 14:03:54.685 16735-16735/ir.aftabeshafa.shafadoc D/AndroidRuntime: Shutting down VM
03-08 14:03:54.686 16735-16735/ir.aftabeshafa.shafadoc E/AndroidRuntime: FATAL EXCEPTION: main
Process: ir.aftabeshafa.shafadoc, PID: 16735
java.lang.RuntimeException: Failure from system
我怎样才能解决这个问题?或者你知道另一种模糊对话活动背景的方法吗?
试试这个代码片段,这将为对话框创建透明的背景。
private void Dialog() {
final Dialog dialog = new Dialog(GenerateToken.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.customdialog_tokenvalidate);
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(false);
Window window = dialog.getWindow();
window.setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
window.setGravity(Gravity.CENTER);
//The below code is EXTRA - to dim the parent view by 70%
WindowManager.LayoutParams lp = window.getAttributes();
lp.dimAmount = 0.7f;
lp.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.getWindow().setAttributes(lp);
//Show the dialog
dialog.show();
TextView tvSelectedBank = (TextView) dialog.findViewById(R.id.validatetext);
//button for ok
dialog.findViewById(R.id.tokenvalidate).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
dialog.dismiss();
}
});
dialog.show();
}
此外,从这个线程获取帮助模糊背景AlertDialog
首先,您不应该通过Binder翻译位图,绑定器的最大容器1M。
您可以尝试以下方法:首先:
MyApplication. back2 = back2;
然后:
@Override
protected void onCreate(Bundle savedInstanceState) {
BitmapDrawable ob = new BitmapDrawable(getResources(),MyApplication.back2);
getWindow().getDecorView().setBackground(ob);
super.onCreate(savedInstanceState);
setContentView(R.layout.filter_activity);
}
我希望对话框下有模糊的屏幕,所以我拍摄活动的“截图”,模糊它,并将其设置为可位图绘制的对话框窗口背景。奇怪的是对话框不再集中在屏幕上,即使调用了setCanceledOnTouchOutside(true),触摸外部对话框也不会关闭它。 问题是:为什么这不起作用?分别如何创建背景模糊的对话框?
我试图在AlertDialog后面有一个模糊的背景。该过程如下所示:拍摄活动的屏幕截图并将其模糊,然后将其保存到位图中。然后将此位图转换为可绘制位图。然后,我使用这行代码
正如我们从API 14知道的,下面的模糊已经被弃用 有没有其他方法可以使屏幕模糊我已经尝试过快速模糊
当打开按钮点击事件的对话框时,我正在为背景图像模糊制作应用程序,它适用于api级别8(姜饼)和api级别14(ICS),而不是背景图像模糊它唯一的变暗背景,如浅黑色,我所做的,提前感谢 这是在Android2.3和4.0上运行的代码不起作用,
问题内容: 基本上 在一个活动中,我有一个ListView。当我选择一个项目时,一个透明活动将作为一个小框打开。出现此框时,您仍然可以查看以前的活动屏幕, 我要弄清楚的是如何使上一个屏幕变得模糊,例如此处链接的图像(忽略UI,只看模糊的草皮区域)。 这怎么可能? 感谢您的任何建议。 问题答案: 对于API <14,您可以使用该标志,但是已弃用该标志,并且高级API不再支持内置模糊处理 但是,您可以
如何将数据从活动传递到对话框? 有关更多详细信息,请参阅下图: