心急的小伙伴可直接看最后的总结。


这个功能真的是不吐不快!!!,因为是从Android 开发转小程序开发,在Android中给按钮添加背景图片是一件非常简单的事情:如下所示:

    <Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerInParent="true"android:background="@mipmap/img_auto_btn"android:text="自动"android:textColor="#FFFFFF" />

预览效果如下所示:(只需要在background中加入mipmap文件夹中的资源即可,真的是很方便!有没有!)

现在切换回小程序中使用相同的方法我们试试看:(我知道这是两种编程方式,我也说了是试一试,万一成功了呢?)

小程序中:
test1:(然而并不可以)

test2:(并不死心)

然而这样的写法也是不正确的,具体的原因可以产看log。
直接在按钮上图片背景图片这个方法被PASS了,然鹅。。这并不能阻止我们程序员的脚步。

那我们就换一种方法来写:直接整个image 再添加bindtap不就可以了,我可真是个小机灵鬼呢!
说干就干:
wxml:

  <view class="v_btn flex_center flex_column"><image class="img_one" src="../img/img_auto_btn.png" bindtap="onClick" /><text class="tv_one">我是按钮</text></view>

wxss:

.v_all {width: 100%;height: 100%;background: #323B4C;position: fixed;
}.flex_column {display: flex;flex-direction: column;
}.flex_center {justify-content: center;align-items: center
}.v_btn {width: 100%;height: 100rpx;
}.img_one {width: 100%;height: 100%;
}.tv_one {color: #FFFFFF;position: absolute;font-size: 32rpx;
}

预览效果:(完美!但是有坑。。。)

当我点击图片按钮的时候发现bindtap中的onClick并没有执行,其实是点错的地方了,如图所示:

我点击的是红色区域,onClick方法没有执行是正确的,因为他是一个text标签,text并没有添加bindtap点击方法,就相当于在图片前面加了个挡板一样!解决方法有两种,一个是将图片 z-index 提高,如果你的图片是半透白或者就一个框那么你就可以使用这种方法,如果是纯色的那么你也得在text标签上添加相同的点击事件

但是这么写总感觉怪怪的!

我想完成个带图片的按钮,又得提高z-index,又得在image和text上添加两个点击事件,那我不成跪着要饭的了吗?(建议申遗)
其实可以把这个点击事件放到最外层的view当中去处理:
wxml:

  <view class="v_btn flex_center flex_column" bindtap="onClick" ><image class="img_one" src="../img/img_auto_btn.png" /><text class="tv_one">我是按钮</text></view>

再次点击方法就执行了。

至此代码完成,心细的同学可能会问了,没有设置左右的边距你的图片为什么边距,而且我就算点击图片外部左右两边也会触发方法。

其实我这里偷懒了,我的图片是PNG格式的,图的两侧其实是透明区域,可以让UI的给你裁了,自己再设置边距属性。

写到这里就已经能实现功能了。但是我还是想用button来嵌套image和text标签,这里我就又要吐槽了如下图所示。

无论我怎么在wxss中设置属性仿佛都不好使用。我又不仅陷入了沉思emmmmmm,各种搜索之后终于无意间发现是这里出了问题

就是这个V2坑的我不轻啊!!!
关于V2: 影响的只是 button icon radio checkbox switch slider 这些组件(如果有其他的欢迎补充)
删除这段代码后再看看我的页面

嗯终于好了。


总结:
1.使用view 进行嵌套,bindtab方法加在view标签上 , 复制我上面的代码即可。
2.使用button进行嵌套,那么一定要注意app.json中的 v2,不使用删除即可

微信小程序按钮添加背景相关推荐

  1. 微信小程序页面添加背景图,图片全屏显示

    前言 微信的wxss里面不允许使用使用 background: url(),只能另外找方法进行背景图片显示. 方法 1.wxss页面里面设置页面的全屏宽高,以及view添加宽高 page{height ...

  2. 微信小程序——button添加背景图片

    <button class="weui-btn" form-type='submit' plain='true'> <image src='../../image ...

  3. 微信小程序怎么添加底部菜单按钮

    继续微信小程序方面的教程,今天讲怎么在空白的小程序页面添加几个类似菜单的按钮,实现点击某个按钮跳转到对应界面,而不是单单局限于一个页面. 需要什么: 微信小程序账户 电脑一台 电脑安装微信开发者工具软 ...

  4. php 微信创建客服,如何给微信小程序内添加客服按钮

    这次给大家带来如何给微信小程序内添加客服按钮,给微信小程序内添加客服按钮的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 普通客服按钮添加客服-联系我们 2. 悬浮客服按钮添加,图片自定义 大 ...

  5. 微信在线客服 php,微信小程序中添加联系在线客服功能

    这次给大家带来微信小程序中添加联系在线客服功能,微信小程序中添加联系在线客服功能的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 普通客服按钮添加客服-联系我们 2. 悬浮客服按钮添加,图片自 ...

  6. 微信小程序按钮分享好友的onShareAppMessage不起作用的解决办法

    特别汗颜,找了各种办法,都没有解决,最后发现,原来系统会自带一个空的onShareAppMessage函数,结果是被系统的空函数覆盖了..... JS函数如下: /* 转发*/onShareAppMe ...

  7. 微信小程序全屏背景图

    微信小程序全屏背景图,解决你在设置过程中出现的多次背景图重复出现的问题 wxml <view class="container" style="height: {{ ...

  8. 微信小程序怎么添加到主屏幕将微信小程序放到手机桌面?

    微信小程序在一些场景下使用还是非常方便,如果遇到需要经常使用的微信小程序,将该微信小程序添加到手机桌面上,下次直接点击打开将更方便. 例如:草柴微信小程序很多人每天都在用免费领取美团外卖红包优惠券.饿 ...

  9. 微信小程序动态添加view

    微信小程序动态添加view //index.html<button bindtap='clickMe'> 添加</button> <input type='input' ...

最新文章

  1. 单元测试:基于Groovy的Spock框架
  2. osx java 6_OSX 10.11 java 6不兼容怎么办?OSX 10.11 java 6不兼容解决办法
  3. 基于AIO的CS聊天室
  4. php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备
  5. Oracle中exp的使用2
  6. 解决Fast api打印两次日志的问题
  7. 设计高性能大并发WEB系统架构注意点
  8. 薄壁轴承摩擦力矩_超薄壁球轴承的应用分析
  9. 多线程m3u8下载器 v1.0
  10. 最小拍控制算法c语言,第六章最小拍控制
  11. 什么是大数据?大数据的特点?
  12. MacOS Catalina Beta使用体验
  13. 解决使用yum安装软件时出现GPG-Key的问题
  14. 成为一名优秀的架构师需要哪些条件?
  15. CS231n学习笔记-损失函数、损失函数与梯度下降
  16. 尚硅谷Java零基础极速入门七天版笔记
  17. 用python的sympy解符号方程组
  18. java中的 输入 方法
  19. 锁相环(PLL)基本原理与频率合成器
  20. 在MSRA学习项目管理

热门文章

  1. myQNX account试用申请流程(license申请)
  2. 西弗勒斯·斯内普 ---混血王子
  3. Facebook投资者Peter Thiel—一个不折不扣的“魔戒”迷
  4. 机器学习从入门到创业手记-2.1.1 线性回归与房价还涨么
  5. 【数据仓库】大数据定义
  6. 一张图片的CSS自适应尺寸圆角方案
  7. 20211101bugku_re_mountain_climbing
  8. 如何拍出优秀风景摄影作品
  9. 设计模式——设计原则
  10. Leetcode广度优先搜索笔记2 腐烂的橘子