Android - 自定义Dialog内部透明,外部有遮罩
图例:
代码
1、自定义dialog:引入样式和代码指定样式
package com.gxjl.pe.gxjlpesdk.view;import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;import com.gxjl.pe.gxjlpesdk.R;/*** 相机、相册选择 弹框* Created by xiaoshuai on 2018/8/20.*/public abstract class CameraPhotoDialog extends Dialog implements View.OnClickListener{private Context context;public CameraPhotoDialog(@NonNull Context context) {super(context, R.style.dialogTransparent);//内容样式在这里引入this.context = context;}public CameraPhotoDialog(@NonNull Context context, int themeResId) {super(context, themeResId);}protected CameraPhotoDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {super(context, cancelable, cancelListener);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.dialog_camrea_photo);//tv_title = findViewById(R.id.tv_title);Window dialogWindow = getWindow();WindowManager.LayoutParams lp = dialogWindow.getAttributes();DisplayMetrics d = context.getResources().getDisplayMetrics(); // 获取屏幕宽、高用lp.width = (int) (d.widthPixels * 0.9); // 宽度设置为屏幕宽度的80%//lp.dimAmount=0.0f;//外围遮罩透明度0.0f-1.0fdialogWindow.setAttributes(lp);dialogWindow.setGravity(Gravity.BOTTOM);//内围区域底部显示}@Overridepublic void onClick(View view) {int i = view.getId();if (i == R.id.tv_cancel) {this.dismiss();}}protected abstract void confirm();
}
2、dialog_camrea_photo.xml 布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@android:color/transparent"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="10dp"android:background="@android:color/transparent"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/bg_camera_check"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="15dp"android:layout_gravity="center_horizontal"android:text="拍照"android:textSize="16sp"android:textColor="@color/font_007AFF"/><Viewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="@color/line_ECECED"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="15dp"android:layout_gravity="center_horizontal"android:text="照片图库"android:textSize="16sp"android:textColor="@color/font_007AFF"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:background="@drawable/bg_camera_check"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="15dp"android:layout_gravity="center_horizontal"android:text="拍照"android:textSize="16sp"android:textColor="@color/font_007AFF"/></LinearLayout></LinearLayout>
</LinearLayout>
3、style.xml 样式布局:指定dialog内容样式
<?xml version="1.0" encoding="utf-8"?>
<resources><style name="dialogTransparent" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item> <!--边框--><item name="android:windowIsFloating">true</item> <!--是否浮现在activity之上--><item name="android:windowIsTranslucent">true</item> <!--半透明--><item name="android:windowNoTitle">true</item> <!--无标题--><item name="android:background">@android:color/transparent</item> <!--背景透明--><item name="android:windowBackground">@android:color/transparent</item> <!--背景透明--><item name="android:backgroundDimEnabled">true</item> <!--模糊--><item name="android:backgroundDimAmount">0.6</item> <!--背景透明度--></style>
</resources>
Android - 自定义Dialog内部透明,外部有遮罩相关推荐
- android 自定义透明 等待 dialog,Android自定义Dialog内部透明、外部遮罩效果
Android自定义Dialog内部透明.外部遮罩效果 发布时间:2020-09-09 03:01:41 来源:脚本之家 阅读:117 作者:zst1303939801 本文实例为大家分享了Andro ...
- Android 自定义Dialog背景透明及显示位置设置
先贴一下显示效果图,仅作参考: 代码如下: 1.自定义Dialog public class SelectDialog extends AlertDialog{public SelectDialog( ...
- android如何自定义dialog,Android—自定义Dialog
在 Android 日常的开发中,Dialog 使用是比较广泛的.无论是提示一个提示语,还是确认信息,还是有一定交互的(弹出验证码,输入账号密码登录等等)对话框. 而我们去看一下原生的对话框,虽然随着 ...
- android 自定义dialog样式,Android 自定义dialog类
首先定制style样式 styles.xml 加入自定义样式 @null true true true @color/transparent @color/transparent true 0.6 在 ...
- android dialog 消失动画,android 自定义dialog弹出和消失缩放动画
本文转自:android 自定义dialog,窗口动画 Java代码: package com.sunxu.org.IndividualityDialog; import Android.app.Ac ...
- android dialog 自定义布局,Android自定义Dialog实现加载对话框效果
前言 最近开发中用到许多对话框,之前都是在外面的代码中创建AlertDialog并设置自定义布局实现常见的对话框,诸如更新提示等含有取消和删除两个按钮的对话框我们可以通过代码创建一个AlertDial ...
- Android自定义拍照上传界面,Android自定义dialog——设置头像(拍照,相册)
Android自定义dialog--设置头像(拍照,相册) 需求场景:个人信息设置,点击头像,在界面上弹出一个弹框,用户选择"拍照"/"从图库选择",选择照片后 ...
- android自定义dialog对话框,android的自定义dialog对话框实现
Android自定义dialog对话框 一:自定义dialog 如何填充布局 ①自定MyDialog类,在类里关联布局 public class MyDialog extends AlertDialo ...
- Android弹出自定义Dialog,android自定义Dialog实现底部弹窗
android自定义Dialog实现底部弹窗 拿到这个需求,很多人都是直接想用popWindow 实现,但是这样的效果我们完全可以根据系统的Dialog 自定义一个. AlertDialog.Buil ...
最新文章
- linux日志显示too many open files解决
- “Hello,Jetpack”:构建您的第一个Jetpack应用程序
- 利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
- mysql i o 高_经典案例:磁盘I/O巨高排查全过程
- 山东大学 2020级数据库系统 实验五
- Linux拓展通配符的使用
- vagrant使用_使用Vagrant的初学者指南
- HashTable、HashSet和Dictionary的区别
- open cv+C++错误总结(一)
- excel两个表格数据对比_Excel中两个表格对比,找出不同数据
- 用java编写英寸到厘米的转换_java-将英寸转换为英尺和英寸
- yansongda 支付宝提现,商家转账
- 搜狗输入法For Linux
- redhat7配置yum repos软件仓库远程yum
- Ubuntu磁盘分区
- HTTP基本使用方法
- 智力题:用数字5,5,5,1进行四则运算,每个数字当且仅当用一次,要求运算结果为24
- STemWin 汉字不显示
- CMake入门二——子目录的嵌套
- 如何判断示波器输入信号超限
热门文章
- UNIX网络编程卷2:进程间通信(第2版)PDF——带完整书签
- 【钢琴人狂喜】如何利用AI一键转MIDI并编辑,最后用特效钢琴完美演绎出来?(Giant MIDI-Piano+Domino汉化版1.43+Embers特效钢琴)
- 哪些中年程序员适合去创业?
- 【NEO官方】一键新机 改串 安装教程 ios一键新机 ios9 ios8 ios7均可用
- 服务器系统及软件常见漏洞
- 关于“点击这里继续访问您选择的百度XXX”
- Flutter(五)Dio接口请求二次封装加Header及MD5加密
- echarts饼图内部百分比外部显示文字和数值
- iOS Jenkins + fastlane自动打包,蒲公英上传
- 路由器IOS升级应该注意七点细节