给外面加一个scroll-view组件实现滚动显示。
当插入的的长度超屏幕的高度时,会导致高度被压缩。解决的方法是,给外面加一个scroll-view组件实现滚动显示,添加属性mode="widthFix"使得宽度完整显示。
小程序开发工具--详情--本地设置--启用自定义处理命令
用来执行脚本
为了提升用户 *** 作的流畅性,同时让用户在微信内拥有一致的 *** 作体验,“右滑手势返回”将成为基础配置,即所有小程序内都可以从屏幕左侧边缘向右滑动返回上一个界面。 在即将发布的705客户端版本中,页面配置中的 disableSwipeBack 属性将不再生效,请开发者及时调整。
背景图为fixed, top随滚动而改变 。 重点就是 onPageScroll 。
还可使用 scroll-view 的下拉刷新,且可以自定义样式。
用wxs监听滚动事件,设置样式。
不在以下 request 合法域名列表中,请参考文档
解决方案:在详情--本地设置中勾选“不校验合法域名。。。”
mode widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。应避免使用widthFix,尽量指定宽高。
导航栏高度
iOS 44px (4+32+8)
android 48px (8+32+8)
胶囊与状态栏间距(应该计算得出)ios 4px,Android 8px,与导航栏底边距8px(只能取固定值)。
胶囊高度 32px
状态栏高度,刘海屏通常为44px
setData 是小程序开发中使用最频繁、也是最容易引发性能问题的接口。
因此,开发者在调用 setData 时要注意:
数组索引不能直接用变量,解决方案:
取原来的值:
在onUnload中取消timer
微信小程序中,可以用 hover-class 属性来指定元素的点击态效果。但是在在使用中要注意,大部分组件是不支持该属性的。
目前支持 hover-class 属性的组件有三个:view、button、navigator。
不支持 hover-class 属性的组件,同时也不支持 hover-stop-propagation、hover-start-time、hover-stay-time 这三个属性。
如果background写在wxml中,那么background-size也要写在style中,如果写在wxss中不会生效。
获取系统屏幕边框的安全距离:
safe-area-inset-top
safe-area-inset-right
safe-area-inset-bottom
safe-area-inset-left
ios11:constant(safe-area-inset-bottom)
ios112:env(safe-area-inset-bottom)
scroll-view的子元素最好包一层,不然宽度可能不起作用。
当小程序使用页面进行滚动时,可以给遮罩设置catchtouchmove属性来禁止页面滚动
1、fixed定位一个 image标签,width: 100vw;height: 100vh; mode选择aspectFill
2、background-size: cover
1)是按照的比例放大或者缩小至充满容器,而不是按照容器的比例大小来缩放。
2)如果照片的比例和容器的比例是不一致的,必定会导致照片的不完整性。
npm install crypto-js
import CryptoJS from 'crypto-js'
// 定义加/解密的 key
const initKey = 'Test-AES-CBC-128';
// 设置数据块长度
const keySize = 128;
//设置向量和服务端保持一致
const iv = "0abcdefghij7twhjm";
export const aesEncrypt = (data, key) => {
/
CipherOption, 加密的一些选项:
mode: 加密模式, 可取值(CBC, CFB, CTR, CTRGladman, OFB, ECB), 都在 CryptoJSmode 对象下
padding: 填充方式, 可取值(Pkcs7, AnsiX923, Iso10126, Iso97971, ZeroPadding, NoPadding), 都在 CryptoJSpad 对象下
iv: 偏移量, mode === ECB 时, 不需要 iv
返回的是一个加密对象
/
const cipher = CryptoJSAESencrypt(data, key, {
mode: CryptoJSmodeCBC,
padding: CryptoJSpadPkcs7,
iv: CryptoJSencUtf8parse(iv)
});
// 将加密后的数据转换成 Base64
const base64Cipher = cipherciphertexttoString(CryptoJSencBase64); //CryptoJSencBase64
consolelog('base64Cipher', base64Cipher)
// 处理 Android 某些低版的BUG
// const resultCipher = base64Cipherreplace('//+/g,\'-\'')replace(g,'_');
// 返回加密后的经过处理的 Base64
return base64Cipher;
}
/
解密函数
@param {string} encrypted - 加密的数据;
@param {string} key - 加密使用的 key
/
export const aesDecrypt = (encrypted, key) => {
// 先将 Base64 还原一下, 因为加密的时候做了一些字符的替换
// const restoreBase64 = encryptedreplace()replace(/_/g,'/');
// 这里 mode, padding, iv 一定要跟加密的时候完全一样
// 返回的是一个解密后的对象
const decipher = CryptoJSAESdecrypt(encrypted, key, {
mode: CryptoJSmodeCBC,
padding: CryptoJSpadPkcs7,
iv: CryptoJSencUtf8parse(iv)
});
// 将解密对象转换成 UTF8 的字符串
const resultDecipher = CryptoJSencUtf8stringify(decipher);
// 返回解密结果
return resultDecipher;
}
期望的效果是,image的高度height是自动的。
网上好多说把image的mode设置为widthFit。这种方法还是需要给image设置宽度高度。并不是height自动,而是height固定,在显示的时候,显示的区域在高度上是自适应的
所以还是需要用js计算
imageLoad: function(e) {
var $width=edetailwidth,//获取真实宽度
$height=edetailheight,
ratio=$width/$height; //的真实宽高比例varviewWidth=718,//设置显示宽度,左右留有16rpx边距viewHeight=718/ratio; //计算的高度值varimage=thisdataimages;
//将的datadata-index作为image对象的key,然后存储的宽高值
image[etargetdatasetindex]={
width:viewWidth,
height:viewHeight
}
thissetData({
images:image
})
}
>
以上就是关于微信小程序从文件夹获取图片滑动显示全部的内容,包括:微信小程序从文件夹获取图片滑动显示、小程序备忘、小程序自适应背景图,不同屏幕比例 如何做到不变形、不留空白等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)