下面是style的一些属性及其解释
自定义对话框效果如下
styles.xml
filled_box.xml
dialog_animation.xml
在anim目录下创建fading_in.xml,进入时候的淡入效果
fading_out.xml淡出效果
showVerify方法,效果如上面图所示
private void verifyDialog(String msg) { final Dialog dialog = new Dialog(MainActivity.this, R.style.popupDialog); dialog.setContentView(R.layout.verify_dialog); dialog.setCanceledOnTouchOutside(false); dialog.setCancelable(false); TextView message = (TextView)dialog.getWindow().findViewById(R.id.messageTxt); Button okBtn = (Button)dialog.getWindow().findViewById(R.id.dismissBtn); message.setText(msg); okBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(dialog!=null && dialog.isShowing()) { dialog.dismiss(); } } }); if(dialog!=null && !dialog.isShowing()) { dialog.show(); } }
如果是想把整个activity做成类似于微博的new feature透明背景样式,如图
上面的图是透明背景,透明颜色可以自己定义
styles.xml
如果想设置的不是纯透明,改成灰色透明度的,可以设置windowBackground背景,下面是filled_activity_bg.xml,这样就是灰色的透明背景,类似于第一张图片
如果不做任何灰度处理,效果如上图,可以设置背景色为透明
显示activity,代码如下。可以通过类似的原理制作遮罩层,其他的半透明能效果,例如popup菜单半透明效果等
Dialog dialog = new Dialog(MainActivity.this, R.style.activity_translucent); dialog.setContentView(R.layout.transparent_layout); dialog.show();