首页 文章 精选 留言 我的

精选列表

搜索[侣信],共10000篇文章
优秀的个人博客,低调大师

仿支付宝微信支付密码输入控件

目录 目录 前言 最近公司的项目需要实现类似于支付宝输入支付密码的功能,本来打算上网找一个别人写好的直接用,又怕直接用别人的出了问题不能够快速解决,索性就写了一个支付密码控件(GitHub传送门),在这里分享出来。 效果图 效果图 设计思路 这个控件整体可以分为两层: 下层使用EditText来存储输入的密码以及监听密码是否输入完毕,另外注意这里的EditText字体大小一定要设置为0,否则会出现密码和密文重合的现象。 上层根据设置的密码长度来动态的添加TextView,并用TextView显示密文。 设计思路 使用方法 这个控件我增加了自定义属性和输入完毕的监听事件所以使用起来非常简单。 首先在布局文件中添加控件(默认是6位密码,颜色为colorAccent) <com.itfitness.paypasswordview.widget.PayPasswordView android:layout_width="match_parent" android:id="@+id/dialog_pay_ppv" android:layout_height="40dp"> </com.itfitness.paypasswordview.widget.PayPasswordView> 自定义属性 app:borderWidth="1.5dp"//边框及分割线宽度 app:passTextColor="@android:color/darker_gray"//密文颜色 app:borderColor="@android:color/darker_gray"//边框颜色 app:radius="2dp"//边框圆角大小 app:passLength="8"//密码长度 app:passText="◆"//密文字符 app:passTextSize="16sp"//密文字体大小 添加监听事件 PayPasswordView myModuleDialogPayPv= (PayPasswordView) paydialogView.findViewById(R.id.dialog_pay_ppv); myModuleDialogPayPv.addInputPassWordFinshListener(new InputPassWordFinshListener() { @Override public void onInputPassWordFinsh(String password) { Toast.makeText(MainActivity.this, password, Toast.LENGTH_SHORT).show(); } }); 个人技术博客:https://myml666.github.io

优秀的个人博客,低调大师

小计最近踏的微信小程序的坑

最近做小程序,实在不想做。然后来吐槽下小程序的坑吧。也只做了这一个项目,有不对的地方请指正见谅。 一、tabbarapp.json里配置tabbar是原生层的,所以要实现比价奇怪的tabbar只有自己用view写了,比如:这样选中的按钮图标都超出了tabbar 的高度,只有的就自己定义一个组件吧 <template name="tabbar"> <view class="tabbar_box"> <block wx:for="{{tabbar.list}}" wx:for-item="item" wx:key="index"> <!-- 选中 --> <navigator class="tabbar_nav" url="{{item.pagePath}}" style="color:{{tabbar.selectedColor}}" open-type="switchTab" wx:if="{{item.selected}}"> <image class="tabbar_icon_on" src="{{item.selectedIconPath}}"></image> </navigator> <navigator class="tabbar_nav" url="{{item.pagePath}}" style="color:{{tabbar.color}}" open-type="redirect" wx:else> <image class="tabbar_icon" src="{{item.iconPath}}"></image> <text class="tabbar_text">{{item.text}}</text> </navigator> </block> </view> </template> js呢 就定义到app.js editTabBar: function () { var tabbar = this.globalData.tabbar, currentPages = getCurrentPages(), _this = currentPages[currentPages.length - 1], pagePath = _this.__route__; (pagePath.indexOf('/') != 0) && (pagePath = '/' + pagePath); for (var i in tabbar.list) { tabbar.list[i].selected = false; (tabbar.list[i].pagePath == pagePath) && (tabbar.list[i].selected = true); } _this.setData({ tabbar: tabbar }); }, globalData: { userInfo: null, tabbar: { list: [{ pagePath: "/pages/index/index", iconPath: "", selectedIconPath: "", text: "test" }, .........], } } 然后再对应页面里调用 onLoad: function () { //tabbar app.editTabBar(); } 再说个在app.json里配置 custom "window":{ "navigationStyle": "custom" }, 屏幕高度就是整个手机屏幕的高度了,看看编辑器显示布局信息,但是右边线程序的退出按钮不会消失,设计时必须注意啊,不要有按钮在右边!!!会重叠遮挡 二、cover-view如果调用了原生层,原生层有哪些·····map、video、canvas、camera, 想在上面布局就只有用cover-view、cover-image,这两个玩意儿不支持的东西太多了,overflow,zindex不支持,touch事件不支持,具体的不支持去官网看吧。然后你想想,当map或者vido作为全屏背景时,需要在上面实现其他元素布局也是蛋疼的 <cover-view class="red"></cover-vie> <cover-view class="blue"></cover-view> 如上,正常html顺序 red是红色框里的,blue是蓝色框里的。圈出来有重叠对吧,都是absolute定位。但是问题出在红色框重叠区域不能点击了,因为蓝色遮住了,所以换一个 <cover-view class="blue"></cover-view> <cover-view class="red"></cover-vie> 这样整个红色框按钮就都能点击了。cover-view设置固定高宽,里面的元素要是超过cover-view即使absolute 一样被隐藏。 三、父子组件子组件通过data 接受父组件数据 <view class="container"> <import src="../com/son/index.wxml"/> <template is="son" data="{{data: 'fuck', aa: '231', event: 'click'}}"/> </view > 如上事件传递也是这样,子组件不能再里面自己定义事件,只能通过父组件传递过去。 四、点击事件获取数据 <cover-view bindtap="click('sadas')"></cover-view> 想这么传递数据是不行的, 那就用dataset咯 <cover-view data-aa="sadas" bindtap="click" ></cover-view> click(event) { let tab = event.currentTarget.dataset.aa; }, 五、css方面 不支持伪类。。 待补充。。。。。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册