zoukankan      html  css  js  c++  java
  • 微信小程序(三)--小程序UI开发

    一.UI介绍
      所谓的UI(user Interface)开发指的就是小程序应用界面的开发,在小程序开发框架中会为我们提供一系列的基础组件,例如HTML开发中为我们所提供的一些最基础的标签.需要注意的是微信小程序的标签所遵循的方式是严格的XML语法.
    二.基础内容组件

     1   <!-- 微信基础内容组件 -->
     2   <view>
     3     <!-- icon的类型,有效值:success, success_no_circle, info, warn, waiting, cancel, 
     4     download, search, clear;
     5     1. 除了以上内置图标,其他图标必须通过图片的方式来进行加载-->
     6     <icon type="success" color="red"></icon>
     7     <icon type="success_no_circle"></icon>
     8     <icon type="info"></icon>
     9     <icon type="warn"></icon>
    10     <icon type="waiting"></icon>
    11     <icon type="cancel"></icon>
    12     <icon type="download"></icon>
    13     <icon type="search"></icon>
    14     <icon type="clear"></icon>
    15     <!-- progress 进度条组件 -->
    16     <progress percent="100" active="true" duration="100" show-info="true" border-radius="50" activeColor="pink"></progress>
    17   </view>
     1   <!-- 表单组件 -->
     2   <view>
     3     <!-- type是用来控制按钮的类型的,只有三种类型:default primary warn 
     4         size默认也只有两种类型:default mini
     5         plain属性可以将按钮设置为背景镂空
     6         loading 可以设置加载图标
     7         form-type 表单属性:submit 提交表单 reset 重置表单
     8         hover-class 设置按下去的样式 只有在type设置为default的时候才能生效-->
     9     <button type="default" size="mini" hover-class="btn-active">这是一个按钮</button>
    10     <!-- checkBox 复选框 
    11     checkbox-group:给这些复选框编组,用于绑定change事件,可以得知当前是哪些CheckBox被选中了-->
    12     <checkbox-group bindchange="checkbox_action">
    13       <label class="checkbox" wx:for="{{ checkbox_items }}" wx:key="{{ item.name }}">
    14         <checkbox value="{{ item.name }}" checked="{{ item.checked }}">{{ item.name }}</checkbox>
    15       </label>
    16     </checkbox-group>
    17     <!-- input 输入框 
    18     placeholder 设置提示文本-->
    19     <input class="input_demo1" placeholder="提示文本" placeholder-class="input_demo1_palceholder"></input>
    20     <!-- pick 从底部弹起的选择器 -->
    21     <view>
    22       <picker value="{{ picker_1_data_index }}" range="{{ picker_1_data }}" bindchange="picker_1_action">
    23         <view>
    24           当前的选择:{{ picker_1_data[picker_1_data_index] }}
    25         </view>
    26       </picker>
    27     </view>
    28   </view>
     1   <!-- 操作反馈组件 这些组件时不需要通过页面标签来使用的.而是用过调用一些方法来使用显示这个组件 -->
     2   <view>
     3     <button type="primary" bindtap="button_1_action" class="action_button">actionSheet</button>
     4     <button type="primary" bindtap="button_2_action" class="action_button">modal</button>
     5     <button type="primary" bindtap="button_3_action" class="action_button">taost</button>
     6     <button type="primary" bindtap="button_4_action" class="action_button">loading</button>
     7   </view>
     8 
     9   <!-- 微信小程序基本组件总结 
    10     组件的基本用法
    11       语法问题
    12         1.组件使用的是类似于HTML的方式(有不同),组件使用的是严格的XML 标准(必须存在结束标签)
    13         2.组件的分类
    14           功能性的组件:具有具体功能的组件,例如button,checkbox;
    15           布局类型的组件:用来完成页面结构(DIV);
    16           API类型的组件:从使用的角度来讲,需要通过调用WX API来完成组件的使用-->
     1 // pages/ui/ui.js
     2 Page({
     3 
     4   /**
     5    * 页面的初始数据
     6    */
     7   data: {
     8     checkbox_items: [{
     9         name: "Java",
    10         checked: true
    11       },
    12       {
    13         name: "HTML",
    14         checked: false
    15       },
    16       {
    17         name: "JavaScript",
    18         checked: true
    19       }
    20     ],
    21     picker_1_data: ['Java', 'HTML', 'JavaScritp'],
    22     picker_1_data_index: 1,
    23     actionSheet_data: ['AAAA', 'B', 'C']
    24   },
    25   // 当当前checkbox-group中的内容发生改变时,将会获取到当前被选中的数组列表
    26   checkbox_action: function(e) {
    27     console.log(e.detail);
    28   },
    29   //picker组件的触发事件
    30   picker_1_action: function(e) {
    31     console.log(this);
    32     this.setData({
    33       picker_1_data_index: e.detail.value
    34     })
    35   },
    36   //操作反馈组件,必须通过调用API的方法来进行调用
    37   button_1_action: function() {
    38     //action-sheet
    39     wx.showActionSheet({
    40       //显示出来的项目列表
    41       itemList: this.data.actionSheet_data,
    42       //点击其中任一项的回调(取消项除外)
    43       success: function(res) {
    44         console.log("用户选择了: " + getCurrentPages()[0].data.actionSheet_data[res.tapIndex]);
    45       },
    46       //点击取消
    47       fail: function(res) {
    48         console.log("用户点击了取消");
    49       }
    50     })
    51   },
    52   button_2_action: function() {
    53     wx.showModal({
    54       title: '提示',
    55       content: '是否删除当前内容',
    56     })
    57   },
    58   button_3_action: function() {
    59     var flag = false;
    60     wx.showToast({
    61       title: '正在获取数据',
    62       icon: "none",
    63       success: function() {
    64         if (flag == true) {
    65           wx.hideToast();
    66         }
    67       },
    68     })
    69   },
    70   button_4_action: function() {
    71     var now = new Date();
    72     var exitTime = now.getTime() + 2000;
    73     console.log(now.getTime() + " " + exitTime);
    74     wx: wx.showLoading({
    75       title: '加载中',
    76       mask: true,
    77       success: function(res) {
    78         //使加载弹窗在两秒后消失
    79         while (true) {
    80           now = new Date();
    81           if (now.getTime() == exitTime) {
    82             wx.hideLoading();
    83             break;
    84           }
    85         }
    86       },
    87       fail: function(res) {},
    88       complete: function(res) {
    89         console.log("在最终会执行该函数");
    90       },
    91     })
    92   }
    93 
    94 })
  • 相关阅读:
    对struts2的简单理解
    对xml文件封装思想的处理
    反射技术
    设计模式之观察者模式
    设计模式之单例模式
    浅谈对象的克隆
    细说 过滤篇
    flex html 用flex展示html
    git同一文件由于文件名大小写不同导致不能合并
    关于C#引用Dll后,找不到命名空间的问题
  • 原文地址:https://www.cnblogs.com/skykuqi/p/11816433.html
Copyright © 2011-2022 走看看