Android创建自定义dialog方法详解-样式去掉阴影效果

android自定义Dialog弹框和背景阴影显示效果 主要介绍了android自定义Dialog弹框和背景阴影显示效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 立即下载

转http://jingyan.baidu.com/article/148a19216d58964d71c3b19f.html


在自定义组件时,从已有组件源码中会很大收获。
就拿progressDialog来说
     间接父类是dialog,想了解
dialog继承结构可以去百度,或者
    从构造器来说ProgressDialog(Context context, int theme)很明显需要个样式主题文件,我们可以在value文件下自定义一个样式文件。
   从外观上需要个动态效果控件和文本框两个属性
    ProgressBar mProgress;   TextView mMessageView
源码中onCreate()方法中 有
     View view = inflater.inflate(R.layout.alert_dialog_progress, null);//来加载布局文件
     setView(view);
    动态效果是由ProgressBar实现,当然我们可以通过给图片添加动态效果也可以实现类似功能,这就需要个anim文件
从上可以总结出创建自定义dialog需要的步骤
 1.继承dialog
 2.一个主题样式文件
 3.一个布局文件来加载
 4.一个anim文件

代码:public class IphoneProgersssDialog extends Dialog {
   private Context context;
   private ImageView img;
   private TextView txt;
       public IphoneProgersssDialog(Context context) {
               super(context, R.style.iphone_progress_dialog);
               this.context=context;
               //加载布局文件
               LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
               View  view=inflater.inflate(R.layout.iphone_progress_dialog, null); 
               img=(ImageView) view.findViewById(R.id.iphone_progress_dialog_img);
               txt=(TextView) view.findViewById(R.id.iphone_progress_dialog_txt);
               //给图片添加动态效果
               Animation anim=AnimationUtils.loadAnimation(context, R.anim.progressbar);
               img.setAnimation(anim);
               txt.setText(R.string.iphone_progressbar_dialog_txt);
               //dialog添加视图
               setContentView(view);

       }

       public void setMsg(String msg){
               txt.setText(msg);
       }
       public void setMsg(int msgId){
               txt.setText(msgId);
       }

}


看了下pregeressdialog中像activity类一样都有生命周期函数,其实dialog和activity都是窗体概念,并不是api中window类,有个地方还是不明白,希望哪位以后版主有针对setcontentview 和setview的话题。
  现在我们就做个iphone风格的进度条吧!

1.继承
    public class IphoneProgersssDialog extends Dialog 
2.定义主题样式 
   在value资源文件下
    <style name="iphone_progress_dialog" parent="@android:style/Theme.Dialog">
     <item name="android:windowFrame">@null</item> <!--Dialog的windowFrame框为无 --> 
     <item name="android:windowIsFloating">true</item><!-- 是否漂现在activity上-->
     <item name="android:windowIsTranslucent">true</item><!-- 是否半透明 -->
     <item name="android:windowNoTitle">true</item>
     <item name="android:backgroundDimEnabled">false</item><!-- dim:模糊的 阴影效果 -->
     <item name="android:windowBackground">@drawable/load_bg</item><!-- 背景图片的大小也影响窗口的大小 -->
   </style>

在构造器中   super(context, R.style.iphone_progress_dialog);
3.定义动画文件  progressbar.xml
  <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
   android:shareInterpolator="false" >
<rotate 
       android:interpolator="@android:anim/linear_interpolator"
       android:pivotX="50%"
       android:pivotY="50%"
       android:fromDegrees="0"
       android:toDegrees="+360"
       android:duration="1000"
       android:startOffset="-1"
       android:repeatMode="restart"
       android:repeatCount="-1"/>


</set>
给图片加载动画
Animation anim=AnimationUtils.loadAnimation(context, R.anim.progressbar);
 img.setAnimation(anim);


最后就是setContentview;没有去分析setView的区别

图片不晓得我只上传不了,也许是浏览器的原因吧。

   使用方法:

  new IphoneProgersssDialog ().show();


自定义Dialog弹框和其背景阴影显示方法 今天小编就为大家分享一篇自定义Dialog弹框和其背景阴影显示方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 立即下载

相关推荐

使用moveit!控制真实机械臂(5)——编写真实机械臂节点中的action服务程序

上一篇文章中,我们简要介绍了ROS中action的基本知识,为了控制真实机械臂,我们已经修改了moveit配置文件,使得moveti启动后具备一个control_msgs::FollowJointTrajectoryAction类型的action客户端,接下来,我们完成该类型action的另一半,编写C++程序来实现action的服务端。由于底层机器人控制程序一般差别都很大,这里展示的只是编程要点...

爱学习的草莓熊 1万+

android dialog自定义变暗区域,自定义通用dialog 背景有阴影

效果.png学习文章style@color/transparenttrue@nulltruefalselayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/dra_gray_6600000"android:orientation="vert...

weixin_33224795的博客 646

NSFC结题报告下载脚本失效?3步教你手动修复下载按钮问题(2024最新版)

针对NSFC官网域名变更导致结题报告下载脚本失效的问题,本文提供了详细的手动修复指南。通过三步操作,教你如何修改用户脚本的域名匹配规则,恢复下载按钮功能,确保NSFC结题报告下载器能继续高效工作。

vscode6remote的博客 750

自定义Dialog如何去除阴影

自定义Dialog 有时候,会有需求让我们自定义一个对话框提示相应的信息。遇到了一个小坑。分享给大家。 思路: 先创建一个自定义布局,布局可以随便写,然后通过调用 AlertDialog.Builer对象上的 ‘setView()将其添加到AlertDialog`。 默认情况下,自定义布局会填充对话框窗口,但 您 仍然可以使用 AlertDialog.Builder 方法来添加按钮

boatImpish 5748

Verilog数字钟

使用Verilog语言进行的数字钟的编写,FPGA开发板亲测正常 大学生一个,第一次自己做的东西,写出来分享在这里插入代码片一下,有不对的地方请大家批评指正。 这次的做的题是:设计一个数字钟,该数字钟能进行正常的时,分计时功能,且能对数字钟的时间进行调整。 该数字钟有3个按键,按键1为功能键,用于数字钟在“正常计时”,“时调整”,“分调整”这三个功能之间切换;按键2,3用于调整时间,仅当数字钟处于...

bin_bin_bun的博客 6149

LangChain4j-针对性操作Function-call+系统预设角色

如果我们想要对一些敏感信息进行针对化的操作,不仅仅是接口大模型去进行回复。比如我们现在数据库里面有一些菜品,那么用户提问,店里有多少套餐,那么云端大模型肯定是不知道的,我们希望捕获这些关键字然后进行自己的业务查询或者处理,这个时候就可以使用function-call。

DDDDDouble的博客 454

android自定义Dialog弹框和背景阴影显示

首先需要自定义一个类,继承Dialog import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; imp

烈火苍穹的博客 8775

STM32-CubeMx-HAL库-串口空闲中断+DMA——利用HAL_UARTEx_ReceiveToIdle_DMA实现不定长数据接收

STM32-CubeMx-HAL库-串口空闲中断+DMA——利用HAL_UARTEx_ReceiveToIdle_DMA实现不定长数据接收

weixin_43864631的博客 1万+

android修改对话框阴影遮罩透明度

修改对话框阴影遮罩透明度。

weixin_41648633的博客 388

Linux运维踩坑实录:手把手教你修复LVM中PV显示[unknown]的诡异问题

本文详细解析了Linux运维中LVM物理卷(PV)显示[unknown]的故障现象及修复方法。通过分析问题根源、提供标准修复流程和特殊场景处理方案,帮助运维人员快速解决VG容量异常、PV状态丢失等问题,并分享预防措施与最佳实践,确保LVM存储系统的稳定运行。

weixin_26869081的博客 347

《Python全栈系列教程》专栏介绍及文章汇总

《Python全栈系列教程》专栏介绍及文章汇总

孤寒者的博客 71万+

【Android学习】【Dialog】自定义布局使用

首先,设置一个自定义布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="200dp" android:layout_height="wrap_content" android:background="@drawable/edit_bg" a

每天不是在写bug就是在写bug的路上 4900

openssl命令数据摘要详解(SM3、sha256、MD5、dss1、mdc2、ripemd160)

SM3是由中国密码学家设计的密码哈希函数,是中国国家密码管理局(National Cryptographic Authority,简称:CNCA)颁布的国家密码算法标准。SM3属于密码杂凑函数家族,它可以计算任意长度的消息并生成固定长度(256比特,即32字节)的哈希值。SM3生成的哈希值长度为256比特(32字节),不管输入消息的长度如何,输出始终是固定的。SM3将输入数据划分为512比特(64字节)的分组,并对每个分组进行处理。

N阶二进制的博客 4460

Android Dialog自定义实战:从位置调整到动画效果的完整指南

本文详细讲解Android Dialog自定义实战,涵盖位置调整、尺寸控制和动画效果实现。通过代码示例展示如何精准定位Dialog、灵活调整宽高比例,并打造流畅的进出场动画,帮助开发者提升App交互体验与视觉效果。

f0g1h2的博客 1086

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android中消除Dialog内容区域外围的灰色

先贴张图,告诉大家我今天需要说明的问题是什么:使用过Dialog这个控件的朋友都应该清楚,默认Dialog内容会居中显示,在内容外面还有很大一片区域(红色三角形标识)会有一层灰色的阴影。有些时候我们需要将阴影取消,在网上找了很多种方法,这里我不讨论别人的对与错,只是将我的实现方法分享给大家:Dialog.getWindow().clearFlags( WindowManager.LayoutPara

方耀宇的专栏 3081

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

android弹出dialog有黑色(白色)的背景无法去掉的问题

理论上这个是窗体的背景颜色,可以通过在创建时使用以下代码修改背景: setContentView(initView(View.inflate(getContext(), R.layout.---, null))); Window window = this.getWindow(); window.setBackgroundDrawable(new ColorD...

楠之枫雪的博客 3505

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

自定义dialog

前言: 做项目时,感觉Android自带的弹出框样式比较丑,很多应用都是自己做的弹出框,这里也试着自己做了一个。 废话不说先上图片: 实现机制 1.先自定义一个弹出框的样式 2.自己实现CustomDialog类,继承自Dialog,实现里面方法,在里面加载自定义样式的...

130

Android中自定义Dialog外形,去除黑底和白色边框

在做Android开发中经常会使用到自定义样式的Dialog,尤其是在游戏当中,大家通常都是通过自定义一个布局文件来设置Dialog中显示的内容,但是仅仅这样还是不行的~会有黑色的框和白色的边。这就需要我们自定义Dialog的样式了。   首先上图:   首先是Dialog的布局文件:     xmlns:android="http://schemas.android.

qjbagu的专栏 1047

dialog的简述

带你一步一步实现dialog实现全屏效果,并且随意改变其显示位置

deeny的博客 1213

Android Dialog 去黑边的方法

本文实例展示了Android中Dialog去黑边的方法。并且分为保留阴影与不保留阴影两种实现方法。供大家参考借鉴。具体实现方法如下: 1.不保留阴影 代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 xml version="1.0"

ThunderRong的博客 1274

自定义dialog无黑色边框

View layout = LayoutInflater.from(context).inflate(R.layout.customdialog_cartcount, null); final Dialog dialog = new Dialog(context); dialog.setCancelable(true); ...

aohu5182的博客 173

在Android中实现阴影效果 背景阴影

转自 http://www.yiqivr.com/2015/03/03/%E5%9C%A8Android%E4%B8%AD%E5%AE%9E%E7%8E%B0%E9%98%B4%E5%BD%B1%E6%95%88%E6%9E%9C/ 在Android L推出后,Google提出了全新的设计语言:材质设计。其中很重要的一点就是阴影效果的使用,你可以为每一个View设置一个el

aotema打小怪兽的博客 2万+

Android 设置阴影效果

1. android api(限制 21 以上 ) 在layout中设置elevation,使用android:elevation属性。在代码中设置,使用View.setElevation()方法。设置一个View的translation,使用View.setTranslationZ()方法。ViewPropertyAnimator.z()和ViewPropertyAnimator.transl...

仓仓 2503

自定义Dailog的样式中的一些属性

@android:style/Theme.Dialog">      @null Dialog的windowFrame框为无-->       true是否漂现在activity上-->      true是否半透明 -->      android:windowNoTitle">true      DimEnabled">false模糊的 阴影效果 -->      androi

ni357103403的博客 699
上一篇: 除去ScrollVIew拉到尽头时再拉的阴影效果
下一篇: 自定义Dialog,如何实现浮动层,主要是dialog浮动在窗体上
allenlee
博客等级 码龄18年 95粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值