首页 > 代码库 > android 自定义Dialog去除黑色边框

android 自定义Dialog去除黑色边框

在自定义Dialog时显示的界面中老是有黑色的边框,下面就介绍使用style去除黑色边框方法。


首先在values/styles定义自定义样式:

  <style name="MyDialog" parent="@android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowBackground">@drawable/actionbar_item_background</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:background">#FFF</item>
    </style>
<item name="android:windowBackground">@drawable/actionbar_item_background</item>这个是重点,只有添加了这个后才能去除黑色的边框


或者是自定义一个透明的背景图片,这样也可以去除黑色边框!

代码:

	static class MsgDialog extends Dialog implements
			android.view.View.OnClickListener {
		private String text;


		public MsgDialog(Context context, String text) {
			super(context, R.style.MyDialog);
			this.text = text;
		}


		@Override
		protected void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.login_dialog);
			TextView txt = (TextView) findViewById(R.id.login_dialog_txt);
			txt.setText(text);
			TextView confirm = (TextView) findViewById(R.id.login_dialog_btn);
			confirm.setOnClickListener(this);
		}


		@Override
		public void onClick(View v) {
			MsgDialog.this.dismiss();
		}


	}



xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="5dp"
    android:background="#FFF"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/login_dialog_txt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="TextView"
        android:textColor="@color/grey3"
        android:textSize="18sp" />

    <!-- 分割线 -->

    <View
        android:id="@+id/view_division"
        style="@style/Viewborder" />

    <TextView
        android:id="@+id/login_dialog_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:height="50dp"
        android:text="确定"
        android:textColor="@color/grey3"
        android:textSize="20sp" />

</LinearLayout>




android 自定义Dialog去除黑色边框