Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19181
  • 博文数量: 6
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-04 10:38
个人简介

狂奔的蜗牛

文章分类

全部博文(6)

文章存档

2015年(6)

我的朋友

分类: Android平台

2015-04-21 18:59:49

网上一些自定义的dialog许多有不能左右对齐等等问题

1定义一个空的dialog

点击(此处)折叠或打开

  1. public class BaseDialog extends Dialog {

  2.     public BaseDialog(Context context) {
  3.         super(context, R.style.BaseDialog);
  4.     }

  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         setCanceledOnTouchOutside(true);
  9.         Window dialogWindow = getWindow();
  10.         dialogWindow.getDecorView().setPadding(0, 0, 0, 0);
  11.         WindowManager.LayoutParams lp = dialogWindow.getAttributes();
  12.         lp.x = 0;
  13.         lp.y = 0;
  14.         dialogWindow.setAttributes(lp);
  15.         dialogWindow.setLayout(LayoutParams.MATCH_PARENT,
  16.                 LayoutParams.WRAP_CONTENT);
  17.         dialogWindow.setGravity(Gravity.CENTER);
  18.     }
  19. }

点击(此处)折叠或打开

  1. <style name="BaseDialog" parent="@android:Theme.Dialog">
  2.         <item name="android:windowFrame">@null</item>
  3.         <item name="android:windowNoTitle">true</item>
  4.         <item name="android:windowContentOverlay">@null</item>
  5.         <item name="android:windowBackground">@drawable/bg_dialog_null</item>
  6.     </style>
bg_dialog_null

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="" >

  3.     <solid android:color="#00000000" />

  4. </shape>

窗口背景设置成纯透明

2 使用时就可以加载自己的layout了

点击(此处)折叠或打开

  1. final BaseDialog dialog = new BaseDialog(BaseActivity.this);
  2.         dialog.setContentView(R.layout.dialog_update_unwanted);
  3.         dialog.findViewById(R.id.dialog_update_unwanted_tv_confirm).setOnClickListener(new OnClickListener() {
  4.             
  5.             @Override
  6.             public void onClick(View v) {
  7.                 dialog.dismiss();
  8.             }
  9.         });
  10.         TextView tv = (TextView) dialog.findViewById(R.id.dialog_update_unwanted_tv_info);
  11.         tv.setText(sb);
  12.         dialog.show();

补充,要用Dialog的话

点击(此处)折叠或打开

  1. dialog.getWindow().getDecorView().setPadding(0, 0, 0, 0);
可以解决不能拉伸到边的问题



阅读(368) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~