自定义Dialog
来源:互联网 发布:windows多线程编程 编辑:程序博客网 时间:2024/05/23 12:02
在自定义Dialog之前,首先推荐一篇Dialog文章,其拓展性特别强:
https://github.com/jiang111/IndicatorDialog
在开发中,有时候会遇到使用Dialog的时候,弹出Dialog时,背景的颜色变化总是时一层黑色,这样的解决方案只是需要在引用style时设置属性
false即可
自定义Dialog效果图如下:
代码如下:
第一步:
点击textView弹出Dialog
//引用R.style.dialog改变其Dialog的其他属性 CustomDialog selectDialog = new CustomDialog(MainActivity.this,R.style.dialog);//创建Dialog并设置样式主题 Window win = selectDialog.getWindow(); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.x = 80;//设置x坐标 params.y = -200;//设置y坐标 win.setAttributes(params); selectDialog.setCanceledOnTouchOutside(true);//设置点击Dialog外部任意区域关闭Dialog selectDialog.show();
第二步:
自定义Dialog
public class CustomDialog extends Dialog { public CustomDialog(@NonNull Context context) { super(context); } public CustomDialog(@NonNull Context context, @StyleRes int themeResId) { super(context, themeResId); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_custom_dialog); }}
第三步:
dialog布局:R.layout.my_custom_dialog—忽略
第四步:
dialog引用的样式R.style.dialog
<style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item><!--边框--> <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上--> <item name="android:windowIsTranslucent">false</item><!--半透明--> <item name="android:windowNoTitle">true</item><!--无标题--> <item name="android:windowBackground">@color/transparent</item><!--背景透明(自己想要的背景颜色)--> <!--设置属性为false时,则Dialog弹出时,activity背景为高亮白色,设置为true时,则为一层黑色--> <item name="android:backgroundDimEnabled">false</item> </style>
以上即可解决!
阅读全文
0 0
- 自定义Dialog---继承Dialog
- 自定义Dialog android Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义dialog
- 自定义 Dialog
- 自定义dialog
- 自定义 dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义Dialog
- ML算法工程师的三个层次
- centos php7 安装mysqli扩展心得
- SystemInfo类-Unity(转载)
- gson解析泛型数据
- Kotlin学习笔记(四)-函数补充
- 自定义Dialog
- 《彼得堡里》——第一章(凭什么?)
- 【脚本语言系列】关于Python数据库处理SQLite,你需要知道的事
- C语言运算符及优先级
- redis缓存机制和底层实现
- 二叉平衡树代码实现
- PowerOJ1736: 飞行员配对方案问题
- bzoj 3875: [Ahoi2014]骑士游戏 spfa+dp
- css选择器