android dialog的圆角不显示问题
2015-11-26 18:32
423 查看
//第一套代码 //控制代码 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 } @Override public 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 } @Override public 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
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//需要在设置内容之前定义
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
setContentView(R.layout.dialog_one);
}
}
相关文章推荐
- Android汉字转拼音HanziToPinyin
- activity中fragment不能全屏的问题
- Android ListView性能提升小技巧
- android ndk 笔记
- 学习Android开发相关站点汇总
- Android 关于上文中第三方开源PinnedSectionListView异常崩溃报错问题解决方案
- Android Activity 详述
- Android学习笔记(三):关于像素的一些知识
- Android GreenDao介绍和Generator生成表对象代码
- Android Studio如何发布APK
- Android之drawable state各个属性详解
- Android PinnedSectionListView异常崩溃报错
- Android:第三方开源PinnedSectionListView(分组标签悬停滑入滑出)实现联系人通讯录
- 类似通讯录分组的Android PinnedSectionListView,且分组标签悬停滑入滑出
- android PopupWindow引起外部view点击事件的一个诡异的bug
- AndroidStudio快捷键Usage Search
- Android 动画杂谈(一)
- Android 5.0上动态布局层级覆盖问题
- android应用设备兼容性
- android: 增加 addDataScheme("file") 才能收到SD卡插拔事件的原因分析 -- 浅析android事件过滤策略