微信小程序开发教程:WeUI一个专为微信小程序设计的UI框架
yuyutoo 2024-10-12 00:52 8 浏览 0 评论
WeUI是什么
WeUI 是一套同微信原生视觉体验一致的基础样式库。由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。它最初是为了给在微信端页面提供一致的视觉体验而开发开源的一个样式库,后续随着小程序、企业微信等等的开放能力出现,WeUI也提供了小程序、企业微信等等的版本。我们将要介绍的,就是WeUI的小程序版本。
WeUI提供非常多的基础组件。列举如下:
表单组件
Button 按钮
Input 输入框
List 列表
Slider 滑块
Uploader 上传组件
基础组件
Article 文章
Badge 徽章(小红点)
Flex 布局
Footer 脚注
Gallery 画廊
…等等
操作反馈
ActionSheet 弹出式菜单
Dialog 对话框
Msg 提示页
Picker 选择器
Toast 弹出式显示
导航相关
Navbar 导航栏
Tabbar 选项栏
搜索相关
12345678910111213141516171819202122232425
官网地址:https://weui.io/。
Github地址为:https://github.com/Tencent/weui。
小程序版本的地址为:https://github.com/Tencent/weui-wxss/。
使用weui进行开发可以简单分为两个步骤。
第一步:导入weui.wxss文件
因为weui.wxss是样式文件,所以导入需要在工程的样式文件进行导入,在这里因为我们是在项目全局使用weui的,所以在项目根目录的app.wxss文件进行导入。
weui.wxss文件位于项目的dist/style目录下,我们在工程下创建thirdparty目录,把weui.wxss文件拷贝进去。接着,在app.wxss导入weui.wxss文件。在app.wxss增加import这一行的代码。
/**app.wxss**/
@import 'thirdparty/weui.wxss';
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
}
12345678910111213
第二步:参照weui提供的例子使用weui组件
我们可以在example目录找到对应组件的视图层代码和逻辑层代码,比如我们要使用的九宫格,就位于example目录下的grid。我们可以直接拷贝使用里面的代码。
为了演示我们自己依赖weui实现的九宫格,我们在上面创建的工程新建一个页面weuidemo,置于pages目录下。
图片描述
然后在app.json下增加一个tabbar相关配置,使得我们可以通过tabbar访问到这个页面。
{
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/weuidemo/weuidemo"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black"
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "",
"selectedIconPath": ""
},
{
"pagePath": "pages/weuidemo/weuidemo",
"text": "weuidemo",
"iconPath": "",
"selectedIconPath": ""
}
]
}
}
1234567891011121314151617181920212223242526272829
接着把grid目录下的grid.wxml代码拷贝到weuidemo.wxml文件。
<view class="page">
<view class="page__hd">
<view class="page__title">Grid</view>
<view class="page__desc">九宫格</view>
</view>
<view class="page__bd">
<view class="weui-grids">
<block wx:for="{{grids}}" wx:key="*this">
<navigator url="" class="weui-grid" hover-class="weui-grid_active">
<image class="weui-grid__icon" src="../images/icon_tabbar.png" />
<view class="weui-grid__label">Grid</view>
</navigator>
</block>
</view>
</view>
</view>
12345678910111213141516
对grid.js文件内容也拷贝到weuidemo.wxml文件。
Page({
data: {
grids: [0, 1, 2, 3, 4, 5, 6, 7, 8]
}
});
12345
然后点击重新编译,就能看到九宫格的初步效果。
图片描述
同时呢,会出现错误日志,提示相关图标没有找到,把图标路径修改或者按照代码的图标路径放置图标文件即可。
这样子,就可以完成在自建小程序工程使用weui了,在此基础上,开发者就可以进行自定义的开发了。
总结
weui 是在微信终端非常出色的UI样式库,提供了非常多丰富的基础UI组件,最重要的是拥有了和微信一致的视觉体验,使得用户即使从微信切换到相关小程序,也不会觉得UI感到突兀。接着本文介绍了在自建工程里面使用weui的方法,并配有详细的图示,相信大家在看完本篇文章之后,都会懂得在自建工引入weui。
相关推荐
- 对volatile,synchronized,AQS的加锁解锁原理的一些理解
-
一、为什么要加锁,要实现同步多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况,这个资源我们称之其为临界资源;这种资源可能是:对象、变量、文件等。...
- 注意,不能错过的CAS+volatile实现同步代码块
-
前言:最近看到有人说可以使用CAS+volatile实现同步代码块。心想,确实是可以实现的呀!因为AbstractQueuedSynchronizer(简称AQS)内部就是通过CAS+...
- 面试并发volatile关键字时,我们应该具备哪些谈资?
-
提前发现更多精彩内容,请访问https://dayarch.top/提前发现更多精彩内容,请访问https://dayarch.top/提前发现更多精彩内容,请访问https://dayarch...
- 无锁同步-JAVA之Volatile、Atomic和CAS
-
1、概要本文是无锁同步系列文章的第二篇,主要探讨JAVA中的原子操作,以及如何进行无锁同步。关于JAVA中的原子操作,我们很容易想到的是Volatile变量、java.util.concurrent....
- C/C++面试题(二):std::atomic与volatile
-
volatile是C/C++中的一个关键字,用于告知编译器某个变量的值可能会在程序的控制之外被意外修改(例如被硬件、中断服务程序、多线程环境或其他外部代理)。为了防止编译器对代码进行某些可能破坏...
- VOCs(Volatile Organic Compounds)挥发性有机化合物及测试方法
-
经常看到一些三防漆、涂料、油漆类产品的介绍中提到VOC、VOCs等概念,那么什么是VOC、VOCs和TVOC,VOCs主要包括哪些物质?VOCs的来源有哪些?VOCs的危害及国家标准是什么?一、V...
- 对volatile 及happen—before的理解
-
happen—before规则介绍Java...
- 这一篇我们来了解Synchronized、Volatile、Final关键字
-
题外话:蓝银王觉醒了!!--来自于一个斗罗大陆动漫爱好者(鹅,打钱!)湿兄这两天回家了,办了点大事,回来的时候我弟弟还舍不得我,哭着不愿意让我回京(我弟还是小学),我也心里很不舍,但是还是要回京奋斗...
- 关于 Java 关键字 volatile 的总结
-
1什么是volatilevolatile是Java的一个关键字,它提供了一种轻量级的同步机制。相比于重量级锁synchronized,volatile更为轻量级,因为它不会引起线程上下文...
- 大白话聊聊Java并发面试问题之volatile到底是什么?
-
用最简单的大白话,加上多张图给大家说一下,volatile到底是什么?...
- 为什么要有volatile关键字(volatile 关键字为什么不能保证原子性)
-
在嵌入式编程和多线程编程中,我们常会见到volatile关键字声明的变量。下面说一下volatile关键字的作用:1.保持变量内存可见简而言之就是用volatile声明的变量会告诉编译器和处理器,这个...
- Java的volatile到底怎么理解?(java volatitle)
-
我们都知道,在Java中有很多的关键字,比如synchronize比如volatile,这些都是一些比较关键的,还有final,今天我们就来聊一下这个volatile因为这个vo...
- Java多线程编程中的volatile关键字:解密神秘的共享内存
-
Java多线程编程中的volatile关键字:解密神秘的共享内存在Java多线程编程的世界里,volatile关键字就像一位低调却至关重要的守护者。它默默无闻地站岗放哨,确保多个线程之间能够正确地共享...
- 你了解volatile关键字的作用吗?(关键字volatile有什么含意?并举出三个不同的例子?)
-
【死记硬背】volatile关键字主要用于保持内存的变量可见性和禁止重排序。变量可见性:当一个线程改变了变量的值,那么新的值对于其他线程也是可以立即获取到的。禁止重排序:...
- 谈谈你对volatile 关键字作用和原理的理解
-
一位6年工作经验的小伙伴,在某里二面的时候被问到“volatile”关键字。然后,就没有然后了…同样,还有一位4年的小伙伴,去某团面试也被问到“volatile关键字“。然后,也没有然后了…...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
推荐7个模板代码和其他游戏源码下载的网址
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
-
- 对volatile,synchronized,AQS的加锁解锁原理的一些理解
- 注意,不能错过的CAS+volatile实现同步代码块
- 面试并发volatile关键字时,我们应该具备哪些谈资?
- 无锁同步-JAVA之Volatile、Atomic和CAS
- C/C++面试题(二):std::atomic与volatile
- VOCs(Volatile Organic Compounds)挥发性有机化合物及测试方法
- 对volatile 及happen—before的理解
- 这一篇我们来了解Synchronized、Volatile、Final关键字
- 关于 Java 关键字 volatile 的总结
- 大白话聊聊Java并发面试问题之volatile到底是什么?
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)