android dialog的圆角不显示问题

来源:互联网 发布:网络推广公司哪家好 编辑:程序博客网 时间:2024/05/28 17:05
//第一套代码//控制代码package com.myapp.mydialog;import com.myapp.myapptest.R;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.Window;public class MyDialog extends Dialog{public MyDialog(Context context) {super(context);// TODO Auto-generated constructor stub}@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);//需要在设置内容之前定义setContentView(R.layout.dialog_one);}     }

//视图代码

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@drawable/dialog_bg"    android:orientation="vertical" >           <ImageView        android:id="@+id/imageView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:src="@drawable/power_red" /></LinearLayout>
//资源代码

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">    <corners android:radius="50dp">    </corners></shape>
显示结果


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第二套代码

package com.myapp.mydialog;import com.myapp.myapptest.R;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.Window;public class MyDialog extends Dialog{public MyDialog(Context context) {super(context);// TODO Auto-generated constructor stub}@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//requestWindowFeature(Window.FEATURE_NO_TITLE);//需要在设置内容之前定义--------------------->改变处setContentView(R.layout.dialog_one);}     }

其他不变

对比两幅图,结果显而易见

解决方法:加上语句getWindow().setBackgroundDrawableResource(android.R.color.transparent); 

解决后:

<pre name="code" class="java">package com.myapp.mydialog;import com.myapp.myapptest.R;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.Window;import android.view.WindowManager;public class MyDialog extends Dialog{public MyDialog(Context context) {super(context);// TODO Auto-generated constructor stub}@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);//需要在设置内容之前定义getWindow().setBackgroundDrawableResource(android.R.color.transparent); setContentView(R.layout.dialog_one);}     }


0 0
原创粉丝点击