自定义dialog

Activity生命周期

北慕城南 提交于 2020-01-08 21:24:06
本篇博客是个备忘录,是我工作中遇到的生命周期方法调用的一些总结。 讲Activity的声明周期之前,先讲讲Actiivty的启动模式。其与Activity的声明周期和启动流程息息相关。 四大启动模式 1、Standard 模式 默认启动模式,每次启动一个activity都会重新创建一个新的实例,放入栈顶。因此启动时 onCreate、onStart、onResume 方法都会被调用。 // 伪代码 // 标准模式:走onCreate ---> onStart ---> onResume if(isStandard) { // 创建新的Activity实例 createNewActivity(); } 2、singleTop模式 singleTop模式,又叫栈顶复用模式,当前栈中已有该activity实例并且该实例位于栈顶,复用该activity,调用onNewIntent,onResume方法;其他都是重新创建实例。走 onCreate、onStart、onResume 流程。 // 伪代码 if(isStackTop) { // 已存在实例并且在任务栈栈顶,复用当前实例,走 onNewIntent ---> onResume reuseExistActivity(); } else { // 创建新的Activity实例,走onCreate ---> onStart --->

【自定义Dialog】封装IOS样式的圆角Dialog

喜你入骨 提交于 2019-12-20 06:56:54
###开发项目的时候经常会使用的Dialog,所以给大家分享一个类似IOS风格的Dialog。 ####源码下载链接: 源码下载 实现机制 1.先自定义一个弹出框的样式 2.自己实现MyDialog类,在里面加载自定义样式的弹出框; 3.使用时,与使用Dialog一样 具体代码 ####MainActivity.java : public class MainActivity extends AppCompatActivity { private MyDialog myDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView btn = (TextView) findViewById(R.id.click); myDialog = new MyDialog(this); myDialog.setTitle("注意");//设置标题 myDialog.setMessage("确认删除吗?");//设置内容 //调起Dialog btn.setOnClickListener(new View.OnClickListener() {

弹框

☆樱花仙子☆ 提交于 2019-12-06 16:43:00
<!DOCTYPE html> <head> <meta charset="utf-8"> <title>js confirm弹出框自定义样式</title> <style> html,body { margin: 0; padding: 0; font-family: "Microsoft YaHei"; } .wrap-dialog { position: fixed; top: 0; left: 0; width: 100%; height: 100%; font-size: 16px; text-align: center; background-color: rgba(0, 0, 0, .4); z-index: 999; } .dialog { position: relative; margin: 15% auto; width: 300px; background-color: #FFFFFF; } .dialog .dialog-header { height: 20px; padding: 10px; background-color: lightskyblue; } .dialog .dialog-body { height: 30px; padding: 20px; } .dialog .dialog-footer { padding: 8px;

提高React组件的复用性

感情迁移 提交于 2019-12-05 02:17:57
1. 使用props属性和组合 1. props.children 在需要自定义内容的地方渲染props.children function Dialog(props) { //通用组件 return ( <div> <h1 className="dialog-title">{props.title}</h1> <p className="dialog-message"> {props.message} </p> { props.children //在组件最后用户可以自定义添加内容 } </div> ) } class SignUpDialog extends React.Component { constructor(props) { super(props); this.state={ loginName: '' } } handleChange = (e) => { this.setState({ loginName: e.target.value }) } render() { return ( <Dialog title="welcom" message="Thank you for visiting our spacecraft!" > <input type="text" value={this.state.loginName} onChange={this

安卓开发过程中遇到问题总结二

前提是你 提交于 2019-12-03 22:10:41
1.android 自定义view报如下错误:java.lang.IllegalStateException: Underflow in restore 原因:在自定义view里面调用了如下方法来保存画布的bitmap图像; mCanvas.restore() 解决方法:改成: mCanvas.save(); mCanvas.restore(); Okay!解决! 2.使用Intent传递数据量大时(尤其是bitmap对象),app没反应? android四大组件之间Intent传递数据,数据不能过大,基本要小于1M,不然会导致程序黑屏,ANR. 3.this.requestWindowFeature(Window.FEATURE_NO_TITLE);代码中去掉标题栏使用时报错? 当我们的Activity是继承自Activity或者是FragmentActivity时不会有问题;但当我们继承的是AppCompatActivity时就会报错, 解决方法是 getSupportActionBar().hide()或者是这是主题为Theme.AppCompat.Light.NoActionBar; 4.在使用第三方库经常报有一些v4,v7包冲突问题? 在封装library的时候,尽量不要引入第三方包,v4,v7等自带的包也是一样尽量不要引入,避免以后工程依赖的时候,包或者包内文件产生冲突

HTML原生UI的实现

让人想犯罪 __ 提交于 2019-12-03 06:24:29
本文转载于: 猿2048 网站➜ https://www.mk2048.com/blog/blog.php?id=hj12k111ib HTML5中有很多十分有趣的标签,相比于 article / section 等这些我们所熟知并且已经应用的标签,还有些标签或者因为兼容性,或者因为还处于草稿阶段而不那么为人所知。在使用 Bootstrap / Element 等UI组件时,常常看到某个标签上会应用一些如 role="dialog" 的不常见的属性,这是因为HTML语义化的需要。 role 属性主要供有障碍人士使用,作用是告诉如屏幕朗读程序等辅助程序当前元素所扮演的角色。由于HTML5标签本身已经实现了语义化, role 属性不建议被添加。而对于一些老浏览器或者一些模拟元素(如div模拟dialog), role 属性则应该被注明。 Bootstrap 中有很多注明了 role 属性的组件,而这些组件有一部分已经被HTML5所实现,并已经标签化,如 dialog , progress 等。当然,这些标签的原始样式各个浏览器不统一,并且可以说很简陋,对此,可以通过一些自定义CSS样式来进行优化。 特别说明:本文介绍的标签,目前兼容性都很差(虽然部分标签有对应的polyfill),仅供学习和了解, 请勿用于生产环境 。同时,DEMO仅限Chrome浏览器预览。 项目地址 可以在

微信小程序自定义Dialog

匿名 (未验证) 提交于 2019-12-03 00:30:01
自定义组件,因为小程序是 MVVM 是数据驱动,所以,把所有的控制流程、动态流程的数据(即自变量)都交给组件的调用方,随着调用方 setData 使元数据改变来驱动控制流程、动态流程(因变量)的变化,如 Dialog的显示和隐藏是因变量,而控制 Dialog 的显示状态的量则是因变量。 类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成。 要编写一个自定义组件,首先需要在 json 文件中进行自定义组件声明: { " component ": true , " usingComponents ": {} } 还要在 wxml 文件中编写组件模版: <!--components/dialog/dialog.wxml--> < view class = 'wx_dialog_container' hidden = " {{! isShown }} " > < view class = 'wx-mask' > </ view > < view class = 'wx-dialog' > < view class = 'wx-dialog-title' > {{ title }} </ view > < view class = 'wx-dialog-content' > {{ content }} </ view > < view class = 'wx

微信小程序之自定义组件Component

匿名 (未验证) 提交于 2019-12-03 00:11:01
新建一个 components 文件夹,用于存放我们以后开发中的所用组件,例如目的是实现一个 弹框 组件,因此,在 components 组件中新建一个 Dialog 文件夹来存放弹窗组件,在 Dialog 下右击新建 Component 并命名为 dialog 后,会生成对应的 json wxml wxss js 4个文件,也就是一个自定义组件的组成部分,此时项目结构应该如下图所示: 1.需要声明自定义组件,也就是将 dialog.json 中 component 字段设为 true { "component" : true , // 自定义组件声明 "usingComponents" : {} // 可选项,用于引用别的组件 } 2.需要在 dialog.wxml 文件中编写弹窗组件模版,在 dialog.wxss 文件中加入弹窗组件样式,它们的写法与页面的写法类似 dialog.wxml 文件: <!--component/dialog/dialog.wxml--> <view class = 'wx_dialog_container' hidden = "{{!isShow}}" > <view class = 'wx-mask' ></view> <view class = 'wx-dialog' > <view class = 'wx-dialog-title' > {

自学QT之从对话框弹出对话框

匿名 (未验证) 提交于 2019-12-03 00:03:02
本来看着教材的目的是写一个标准输入对话框类的,可是因为粗心,一直报错,不过也明白了一些东西,做个总结。 你想要从一个对话框弹出一个对话框,需要在要弹出的对话框中加入Q_Object,还需要加入一些头文件声明,比如我是自定义继承QDialog类,需要QDialog的声明和QWidget的声明,同时为构造函数添加参数如类似myd(QWidget* parent=0) 代码: dialog头文件: #ifndef DIALOG_H #define DIALOG_H #include < QDialog > #include < QPushButton > #include < QGridLayout > #include "myd.h" class Dialog : public QDialog { Q_OBJECT public : Dialog ( QWidget * parent = 0 ); ~ Dialog (); private : QPushButton * mybtn ; QGridLayout * myGrid ; myd * mydialog ; public slots : void showmywin (); }; #endif // DIALOG_H dialog源码: #include "dialog.h" #include "myd.h" Dialog ::

微信小程序之自定义对话框组件弹窗动画

北战南征 提交于 2019-12-02 15:55:14
学习微信小程序组件之后,一直都是使用别人的组件开发的,刚看到一篇文章讲解微信小程序自定义组件通俗易懂的开发案例觉得一看就会自己写组件了,真的很棒,感谢原作者的 手把手教你实现微信小程序中的自定义组件 ,自己也添加了一些修改(修改部分样式,添加是否显示“取消”按钮功能,添加弹窗淡入淡出动画,初始化组件赋值操作等一些简单的东西和注释化流程提示)。 主要是敲一遍代码学习之后才体会到原理是这样子的嘛,光看文档是看得懂,跟自己做出来真的是两码事。 (一)效果展示 1.默认效果: 事件触发流程说明: console中显示 2.去掉“取消”按钮效果: github下载源码 (二)实现流程 创建子组件页面: 1、新建一个页面如:components文件夹下的Dailog文件夹下的dialog,注意:该页面不需要app.json的(声明的话会报: 无效的 pageJSON(components/Dialog/dialog)["component"] ), dialog.json 记得设置: "component": true, // 自定义组件声明 { "component" : true , // 自定义组件声明 "usingComponents" : { } //引用其他的组件 } 2、编写wxml/wxss页面代码(跟正常pages页面代码一样); <!--components/Dialog