【uniapp】微信小程序修改按钮样式

按钮原始样式

在这里插入图片描述

修改后样式

在这里插入图片描述

修改方式

<template>
  <button
    class="share-btn-box"
    style="margin-top: 8rpx;"
    open-type="share"
    @click.stop="shareRecord(item.record.id)"
  >
    <text class="iconfont icon-link" style="margin-right: 6rpx;" />
    分享录音
  </button>
</template>
<style lang=less>
.share-btn-box {
  display: flex;
  justify-content: center;
  align-items: center;
  color:#20c483 ;
  font-size: 28rpx;
  background: rgba(255,255,255,0.8);
}
button{
  &::after{
    border: none !important;
  }
}
</style>


UniApp 开发的微信小程序中实现自定义全屏按钮功能,主要依赖于 `video` 组件提供的接口以及微信小程序原生支持的相关 API。可以通过以下步骤来实现: ### 1. 使用 `video` 组件并绑定事件 首先,在页面 WXML 文件中添加一个 `video` 组件,并为其绑定 `fullscreenchange` 事件,该事件用于监听视频是否进入或退出全屏状态[^1]。 ```html <video :src="videoUrl" :autoplay="autoplay" @fullscreenchange="handleFullScreenChange" enable-danmu danmu-btn enable-progress-gesture ></video> ``` ### 2. 实现自定义全屏按钮 UI 和交互逻辑 在页面的 WXML 文件中添加一个自定义按钮元素,并通过条件渲染控制其显示与隐藏: ```html <view class="custom-fullscreen-btn" @tap="toggleFullScreen"> <image v-if="isFullscreen" src="/static/icon/exit-fullscreen.png" mode="aspectFit"></image> <image v-else src="/static/icon/fullscreen.png" mode="aspectFit"></image> </view> ``` 在对应的 CSS 样式文件中定义按钮样式: ```css .custom-fullscreen-btn { position: absolute; right: 20rpx; bottom: 20rpx; width: 80rpx; height: 80rpx; } ``` ### 3. 在 JS 中处理全屏切换逻辑 在页面的 JavaScript 文件中定义相关数据和方法: ```javascript export default { data() { return { videoUrl: 'https://your-domain.com/video.mp4', autoplay: false, isFullscreen: false }; }, methods: { handleFullScreenChange(e) { // 监听全屏状态变化 this.isFullscreen = e.detail.fullScreen; }, toggleFullScreen() { // 切换全屏状态 uni.createVideoContext('myVideo').requestFullScreen(); } } }; ``` 需要注意的是,`uni.createVideoContext` 方法用于获取视频上下文对象,进而调用 `requestFullScreen()` 方法请求进入全屏模式。同时,`fullscreenchange` 事件的回调函数可以用来更新 UI 状态,例如切换全屏图标[^1]。 ### 4. 兼容性与注意事项 - 微信小程序的 `video` 组件不完全支持所有 HTML5 视频属性,因此需要参考官方文档进行适配。 - 自定义控件的布局应避免遮挡系统控件(如进度条、播放按钮等),否则可能影响用户体验。 - 对于复杂的 UI 交互逻辑,建议使用 Vue.js 的响应式特性进行封装,以提高可维护性和复用性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值