Android:dialog去除边框的实现(自带Style的padding)

   public void show(View view) {

        
        MyDialog myDialog=new MyDialog(MainActivity.this);
        myDialog.show();
//需要设置属性,否则dialog的大小不起作用!必须先show再set属性
        WindowManager.LayoutParams params = myDialog.getWindow().getAttributes();
        params.width = 600;
        params.height = 300;
        View view1 = View.inflate(getApplicationContext(), R.layout.dialogview, null);
//设置位置的属性
        Window dialogWindow = myDialog.getWindow();
//        WindowManager.LayoutParams lp = dialogWindow.getAttributes();
        dialogWindow.setGravity(Gravity.LEFT | Gravity.TOP);

        // 必须使用这个方法,不能使用dialog.setView()的方法
        myDialog.getWindow().setContentView(R.layout.dialogview);
        dialogWindow.setAttributes(params);

    }

----------------------------------------------------------------------------------------------------------------------
public class MyDialog extends Dialog {
public MyDialog(Context context) {
super(context,R.style.ShareDialog);
}
}
-------------------------------------------------------------------------------------------------------------------------
<style name="ShareDialog"  parent="android:Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/white</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
 

 

posted on 2017-01-10 15:54  放纵的卡尔  阅读(6400)  评论(0编辑  收藏  举报

导航