自定义view

Django框架 之 中间件

别来无恙 提交于 2020-01-02 21:44:03
Django框架 之 中间件 浏览目录 中间件介绍 自定义中间件 中间件的执行流程 中间件版登录验证 一、中间件介绍 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法。 我们一直都在使用中间件,只是没有注意到而已,打开Django项目的Settings.py文件,看到下面的MIDDLEWARE配置项。 1 2 3 4 5 6 7 8 9 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware' , 'django.contrib.sessions.middleware.SessionMiddleware' , 'django.middleware.common.CommonMiddleware' , 'django.middleware.csrf.CsrfViewMiddleware' , 'django.contrib.auth.middleware.AuthenticationMiddleware

深入浅出话命令

﹥>﹥吖頭↗ 提交于 2020-01-02 03:19:36
转自:http://blog.csdn.net/lisenyang/article/details/18312387 WPF为我们准备了完善的命令系统,你可能会问:“有了路由事件为什么还需要命令系统呢?”。事件的作用是发布、传播一些消息,消息传达到了接收者,事件的指令也就算完成了,至于如何响应事件送来的消息事件并不做任何限制,每个接收者可已用自己的行为来响应事件。也就是说,事件不具有约束力。命令和事件的区别就在于命令具有约束力。 的确,在实际编程工作中,即使只用事件不用命令程序的逻辑一样被驱动的很好,但我们不能够阻止程序员按照自己的习惯去编写代码。比如保存事件的处理器,程序员可以写Save()、SaveHandle()、SaveDocument()... 这些都符合代码规范。但迟早有一天整个项目会变的让人无法读懂,新来的程序员或修改bug的程序员会很抓狂。如果使用命令,情况就会好很多----当Save命令到达某个组件的时候,命令会自动去调用组件的Save方法。而这个方法可能定义在基类或者接口里(即保证了这个方法是一定存在的),这就在代码结构和命名上做了约束。不但如此,命令还可控制接收者“先做校验,再保存,最后退出”,也就是说命令除了可以约束代码,还可以约束步骤逻辑,让新来的程序员想犯错都难,也让那个修改Bug的程序员容易找到规律,容易上手。 1.1 命令系统的基本元素和关系

Android 购物车功能的实现

寵の児 提交于 2020-01-01 23:39:14
首先,众所周知,ListView是Android最常用的控件,可以说是最简单的控件,也可以说是最复杂的控件。 作为一个Android初级开发者,可能会简单的ListView展示图文信息。 作为一个有一定项目开发经验的Android开发者来说,可能会遇到ListView的列表项中存在各种按钮的需求。 需求最多的就是购物车功能。想必大家都用过某宝某东客户端APP吧 ,就是那个购物车的功能。 ------------------------------------------------------------------------------------------------------------- 曾经做过购物车功能,今天项目需求也用到了差不多效果的购物车功能,刚好园友问了这个问题,便帮忙解答了。 之后,想了想还是写一下关于购物车效果的博客吧。 -------------------------------------------------------------------------------------------------------------- 那么现在就学习一下购物车功能的实现原理 首先让我们分析下实现购物车功能需要解决的问题: 1、在哪里处理按钮的点击响应事件,是适配器 还是 Activity或者Fragment 2、如何知道你点击的按钮是哪一个列表项中的

在Android中显示GIF动画

北战南征 提交于 2020-01-01 23:38:23
gif图动画在android中还是比较常用的,比如像新浪微博中,有很多gif图片,而且展示非常好,所以我也想弄一个。经过我多方的搜索资料和整理,终于弄出来了,其实github上有很多开源的gif的展示代码,我下载过几个,但是都不是很理想,不是我完全想要的。所以有时候就得自己学会总结,把开源的东西整理成自己的,现在无聊,也正好有朋友需要,所以现在整理了一下,留着以后备用! 废话不多说,直接上图: 在这里主要用的是:android中的android.graphics.Movie 这个类,这是android提供给我们的一个非常方便的工具。 首先,重写控件View,自定义一个展示gif图的GifView,代码如下: package net.loonggg.gif.view; import net.loonggg.gif.R; import android.annotation.SuppressLint; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Movie; import android.os.Build; import android.util.AttributeSet;

Android开发常见问题汇总

我们两清 提交于 2020-01-01 22:33:54
文章目录 1.Activity的启动模式 1.什么是Activity启动的标准模式?都会经历那些生命周期的函数? 2.什么是Activity启动的异常模式?都会经历那些生命周期? 3.怎么指定Activity在横竖屏切换的时候不敏感? 4.怎么为Activity指定为横屏或竖屏? 5.Activity启动都有哪些模式?在清单文件里面配置和在代码里面指定到底有何不同? 6.前台任务栈有Activity:AB,后台任务栈有Activity:CD,且CD的启动模式都是singleTask,现在启动Activity D,此时后退任务栈的的顺序是什么? 7.怎么给Activity指定单独的任务栈?怎么查看任务栈的? 8.Activity的启动意图都有哪些? 9.隐式意图需要配置目标组件的InterFilter,这个过滤器都有哪些信息?配置都有哪些规则? 2.跨进程通信 1.在Android开发中怎么使用多进程? 2.同一个应用中开启了多进程会造成哪些问题? 2.怎么通过Serializable来序列化和反序列化一个对象? 3.Parcelable和Serializable他们的作用是什么?有什么区别? 4.什么是Binder?什么是Binder的死亡代理? 5.什么是AIDL? 6.Android中的跨进程通信方式都有哪些? 7.什么Binder连接池? 3.View的事件体系 1

wepy_two

天涯浪子 提交于 2019-12-30 04:18:46
2、代码高亮WebStorm/PhpStorm(其他工具参见: wepy官网代码高亮 ) (1)打开 Settings ,搜索 Plugins ,搜索 Vue.js 插件并安装。 (2) 打开 Settings ,搜索 File Types ,找到 Vue.js Template ,在 Registered Patterns 添加 *.wpy ,即可高亮。 3、代码优化 (1)代码规范 wepy标签和原生一样 自定义组件命名应避开:原生组件名( input、button、view、repeat 等)、WePY的辅助标签 <repeat> 变量/方法名尽量使用驼峰式命名,避免使用 $ 开头( $ 开头的标识符是WePY内建属性/方法,可在js中以 this. 的方式直接使用,具体请 参考API文档 ) app、pages、components文件名的后缀为 .wpy ,外链的文件可以是其它后缀。 具体请参考 wpy文件说明 。 支持ES6/7的一些新特性,框架在ES6(ECMAScript 6)下开发(默认使用babel编译),因此也需要使用ES6开发小程序,ES6中有大量的语法糖可以让我们的代码更加简洁高效。 wepy继承了wx对象的方法,建议在wepy框架开发中不要用到wx对象的方法,虽然运行时效果是一样,但是打包时会cli报错(wepy中没有wx对象

微信小程序——自定义菜单切换栏tabbar组件

与世无争的帅哥 提交于 2019-12-30 01:15:58
效果图: wxml代码: <view class="top_tabbar" > <block wx:for="{{itemName}}" wx:key="{{index}}"> <view class="item_name {{tabIndex == index ? 'active' : ''}}" bindtap="handleItem" data-index="{{index}}"> <text>{{item}}</text> </view> </block> </view> wxss代码: .top_tabbar{ width: 100%; background-color: #ffffff; display: flex; position: fixed; } .item_name{ text-align: center; margin:20rpx 60rpx; color: grey; } .active{ color: lightgreen; } .active text{ padding-bottom: 10rpx; border-bottom: 4rpx solid lightgreen; } js代码: data:{ itemName: ["军事", "明星", "动漫","风景"], tabIndex: 0 }, //获取点击事件 handleItem(e){ /

小程序自定义组件之省市区地址三级联动

萝らか妹 提交于 2019-12-28 04:22:26
wxml结构图如下 1 <!--components/ares/area.wxml--> 2 <!-- 自定义地图插件用于使用第三方地图数据包 by张涛20180307 --> 3 <view class="area-box" wx:if="{{isShow}}" data-address="{{address}}"> 4 <view class="area-btn"> 5 <view class="area-btn-off" catchtap='_cancelEvent' >取消</view> 6 <view class="area-btn-on" catchtap='_confirmEvent'>确认</view> 7 </view> 8 <picker-view indicator-style="height:50px;" style="width:750rpx; height:200px;" value="{{value}}" bindchange="bindChange"> 9 <picker-view-column> 10 <view wx:for="{{area.province}}" wx:key='' style="line-height: 50px;text-align:center;">{{item.name}}</view> 11 </picker-view

微信小程序---自定义三级联动

跟風遠走 提交于 2019-12-28 04:21:47
在开发的很多电商类型的项目中,免不了会遇到三级联动选择地址信息,如果单纯的使用文本框给用户选择,用户体检可能就会差很多。今天我给大家整理了关于小程序开发利用picker-view组件和animation来实现省市区的三级联动 效果如图: 首先我觉的大家需要先去阅读下小程序有关picker-view和animation相关的api,然后再跟着这篇文章来理一下思路,一定会有深刻的理解。 文档连接传送门: https://developers.weixin.qq.com/miniprogram/dev/component/picker-view.html?search-key=picker-view 省市区mock数据传送门: https://github.com/18291907191/tools/blob/master/mock.js DOMO如下: 第一步:先布局wml页面: 1 <view class="picker-view" animation="{{animationAddressMenu}}" style="visibility:{{addressMenuIsShow ? 'visible':'hidden'}}"> 2 <!-- 确认取消按钮 --> 3 <view class='btn'> 4 <text catchtap="cityCancel">取消</text>

自定义View之数字键盘 (NumberKeyboardView)⌨️

岁酱吖の 提交于 2019-12-27 18:04:00
在实际开发中,我们通常会遇到自定义键盘输入内容的情况,比如微信中的输入支付密码,验证码等场景,往往这些键盘都比较简单,通常是输入数字和小数点等内容,本篇文章将通过组合已有控件,打造一款通用的数字键盘 ⌨️ 仓库地址: https://github.com/plain-dev/NumberKeyboardView 库清单🧾 首先列觉一下本控件所用到的库 RecyclerView 数字键盘本体,承载键盘的按键的显示,响应输入等 BaseRecyclerViewAdapterHelper 一个强大的RecyclerView适配器库,封装常用逻辑,让适配器更加简洁 效果演示 ⌨️ 实现过程 数字键盘View 一开始想起来做数字键盘的时候,第一个想到的是 GridLayout ,然后想到了 GridView ,前者可以很好的实现这种需求,但扩展性不高,后者做这种网格布局是再适合不过了,但现在有了 RecyclerView 则不需要 GridView 了,因为 RecyclerView 通过指定布局管理器,可以实现多种布局效果,这里我们就用到了 GridLayoutMananger 这里我们继承 RelativeLayout 来承载此View,里面则是一个 RecyclerView class NumberKeyboardView @JvmOverloads constructor (