微信小程序第二周視圖容器

一晰搀、常用的視圖容器

1. cover-view

1.1 解釋:覆蓋在原生組件之上的文本視圖“彀撸可覆蓋的原生組件包括 map外恕、videocanvas俄周、camera吁讨、live-playerlive-pusher峦朗,只支持嵌套 cover-viewcover-image排龄,可在 cover-view 中使用 button

1.2 用處:比如我們用的高德地圖波势,在這樣的地圖上我們標識了兩個按鈕,這個按鈕就是我們在map上嵌入的視圖容器橄维;像我們的愛奇藝尺铣、騰訊視頻在播放時,在視頻上方的按鈕都屬于這樣的視圖容器争舞。
2020/03/16南京

2. movable-area與movable-view

2.1 解釋:movable-area是movable-view的可移動區(qū)域凛忿。movable-view是可移動的視圖容器,在頁面中可以拖拽滑動竞川。必須在 movable-area組件中店溢,并且必須是直接子節(jié)點叁熔,否則不能移動。也就是說床牧,一個是農(nóng)場(movable-area)荣回,一個是農(nóng)場里的綿羊(movable-view)

2.2 用處: 設(shè)置一個視圖在它的區(qū)域內(nèi)移動,比如我們的windows桌面戈咳,里面我們可以拖拽一些界面(我們的視圖)心软,再比如蜘蛛紙牌,與之類似著蛙,沒深究過删铃。

2.3 課上實驗

(1) js數(shù)據(jù)文件

Page({
  data: {
    x: 0,
    y: 0,
    ismove:true
  },
  tap: function (e) {
    this.setData({
      x: 30,
      y: 30
    });
  },
  onChange: function (e) {
    console.log(e.detail)
    console.log(e)
  },
  onScale: function (e) {
    console.log(e.detail)
    console.log(e)
  },
})

(2) wxml界面文件

<view>
  <movable-area class="area1">
    <movable-view class="view1" direction="all" bindchange="onChange" bindscale="onScale" scale scale-min="0.5" scale-max="4" scale-value="2" inertia="false" out-of-bounds="ture">
    <text style="color:white">移動</text>
    </movable-view>
  </movable-area>
</view>

(3) wxss樣式文件

.area1{
  height: 800rpx;
  width: 500rpx;
  background-color: #27bbf5
}

.view1{
  height: 100rpx;
  width: 100rpx;
  background-color: rgb(46, 87, 221)
}
movable演示

2.4 提示:關(guān)于其他的一些屬性,要留意一下踏堡,特別注意前幾個屬性泳姐。其中有bindchange 函數(shù)要特別注意,一旦movable-view發(fā)生移動就會觸發(fā)該函數(shù),就是你動它也動暂吉,你不動它也不動胖秒,但是out-of-bounds屬性為true(默認false)時會出現(xiàn)你不動了它還動,動幾下也就停了慕的。詳見movbale-view的屬性https://developers.weixin.qq.com/miniprogram/dev/component/movable-view.html阎肝。

3. scroll-view
3.1 解釋:可滾動視圖區(qū)域。使用豎向滾動時肮街,需要給scroll-view一個固定高度风题,通過 WXSS 設(shè)置 height。
3.2 用處:這個最常見嫉父,相當(dāng)于滾動面板沛硅,上下滑動,左右滑動绕辖,只要打開手機就會用到

3.3 課上實驗
(1)js數(shù)據(jù)文件

Page({

  data: {
  },

  upper(e) {
    console.log(e)
  },

  lower(e) {
    console.log(e)
  },

  scroll(e) {
    console.log(e)
  },

  scrollToTop() {
    this.setAction({
      scrollTop: 0
    })
  },

  tap() {
    for (let i = 0; i < order.length; ++i) {
      if (order[i] === this.data.toView) {
        this.setData({
          toView: order[i + 1],
          scrollTop: (i + 1) * 200
        })
        break
      }
    }
  },

  tapMove() {
    this.setData({
      scrollTop: this.data.scrollTop + 10
    })
  },

})

(2) wxml界面文件

<view class="page-section-spacing">
  <text>上下滑動</text>
  <scroll-view scroll-y="true" style="height: 450rpx;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll">
    <view class="scroll-view-item">第一個</view>
    <view class="scroll-view-item">第二個</view>
    <view class="scroll-view-item">第三個</view>
  </scroll-view>
</view>

<view class="page-section-spacing">
  <text>左右滑動</text>
  <scroll-view class="scroll-view_H" scroll-x="true" bindscroll="scroll" style="width: 600rpx">
    <view class="scroll-view-item_H demo-text-1">第一個</view>
    <view class="scroll-view-item_H demo-text-2">第二個</view>
    <view class="scroll-view-item_H demo-text-3">第三個</view>
  </scroll-view>
</view>

(3) wxss樣式表文件

.page-section-spacing{
  margin-top: 60rpx;
}
.scroll-view_H{
  white-space: nowrap;
}
.scroll-view-item{
  width: 600rpx;
  height: 300rpx;
  background-color: rgb(38, 197, 236);
  margin-top: 20rpx
}
.scroll-view-item_H{
  display: inline-block;
  width: 300rpx;
  height: 500rpx;
  background-color: rgb(55, 233, 1);
  margin-left: 20rpx
}

scroll演示

3.4 提示: 在一般開發(fā)過程中摇肌,這個樣式我們要首先考慮到,因為是最外層的布局仪际,所以要優(yōu)先考慮這個視圖容器

這些時我們今天上課的主要內(nèi)容围小,下面是要學(xué)的視圖容器,還有一點树碱,這些小程序最好是自己認真讀一遍肯适,我沒有放在圖片式代碼,就是為了給大家省時間好去稍微研究一下代碼


4. swiper與swiper-item
4.1 解釋: 滑塊視圖容器成榜。其中只可放置swiper-item(僅可放置在swiper組件中框舔,寬高自動設(shè)置為100%。
)組件,否則會導(dǎo)致未定義的行為刘绣。
4.2 用處:輪播的功能樱溉,常見的軟件內(nèi)的廣告輪播

4.3 課前
(1) js數(shù)據(jù)文件

Page({

  data: {
    background: [{ num: "1" }, { num: "2" }, { num: "3" },{ num: "4" }, { num: "5" },],
    indicatorDots: true,
    vertical: false,
    autoplay: false,
    interval: 2000,
    duration: 500
  },

  changeIndicatorDots() {
    this.setData({
      indicatorDots: !this.data.indicatorDots
    })
  },

  changeAutoplay() {
    this.setData({
      autoplay: !this.data.autoplay
    })
  },

  intervalChange(e) {
    this.setData({
      interval: e.detail.value
    })
  },

  durationChange(e) {
    this.setData({
      duration: e.detail.value
    })
  }
})

(2) wxml界面文件

<swiper indicator-dots="{{indicatorDots}}"
        autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
  <block wx:for="{{background}}" wx:key="*this">
    <swiper-item>
      <view class="swiper-{{item.num}}">
       <text class="text1">廣告招租啦</text> 
      </view>
    </swiper-item>
  </block>
</swiper>

<view>
  <view class="view1">
    提示點 <switch checked="{{indicatorDots}}"                 bindchange="changeIndicatorDots" />
  </view>
  <view class="view1">
    自動播放 <switch checked="{{autoplay}}" bindchange="changeAutoplay" />
  </view>
</view>

(3)wxss樣式文件

.swiper-1{
  background-color: rgb(85, 165, 231);
  height: 300rpx;
}
.swiper-2{
  background-color: rgb(70, 194, 80);
  height: 300rpx;
}
.swiper-3{
  background-color: rgb(218, 126, 210);
  height: 300rpx;
}

.swiper-4{
  background-color: rgb(106, 236, 245);
  height: 300rpx;
}
.swiper-5{
  background-color: rgb(255, 144, 80);
  height: 300rpx;
}

.view1{
  flex-direction: row;
  display: flex;
  justify-content: space-between;
  margin: 20rpx 0 0 20rpx
}

.text1{
  color:white;
  font-size: 40rpx;
  margin: 40rpx 0 0 0
}
swiper演示

4.4 提示:關(guān)于swiper的應(yīng)用最多的是輪播的功能,一般來說掌握基本的熟悉和方法就可以完成相映的功能

5. view
5.1 這是最簡單的視圖容器额港,是容器中的弟弟饺窿,但大多數(shù)的視圖都是由這個弟弟完成的,上面的大哥都有自己的本領(lǐng)移斩,只要這里的特別注意它的排版就好了肚医,關(guān)于樣式的講解,下回再說向瓷。

喜歡就贊一下吧


版權(quán)任意

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肠套,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子猖任,更是在濱河造成了極大的恐慌你稚,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朱躺,死亡現(xiàn)場離奇詭異刁赖,居然都是意外死亡,警方通過查閱死者的電腦和手機长搀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門宇弛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人源请,你說我怎么就攤上這事枪芒。” “怎么了谁尸?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵舅踪,是天一觀的道長。 經(jīng)常有香客問我良蛮,道長抽碌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任背镇,我火速辦了婚禮咬展,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瞒斩。我一直安慰自己,他們只是感情好涮总,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布胸囱。 她就那樣靜靜地躺著,像睡著了一般瀑梗。 火紅的嫁衣襯著肌膚如雪烹笔。 梳的紋絲不亂的頭發(fā)上裳扯,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音谤职,去河邊找鬼饰豺。 笑死,一個胖子當(dāng)著我的面吹牛允蜈,可吹牛的內(nèi)容都是我干的冤吨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼饶套,長吁一口氣:“原來是場噩夢啊……” “哼漩蟆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起妓蛮,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤怠李,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛤克,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捺癞,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年构挤,在試婚紗的時候發(fā)現(xiàn)自己被綠了髓介。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡儿倒,死狀恐怖版保,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情夫否,我是刑警寧澤彻犁,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站凰慈,受9級特大地震影響汞幢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜微谓,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一森篷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豺型,春花似錦仲智、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春前联,著一層夾襖步出監(jiān)牢的瞬間功戚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工似嗤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留啸臀,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓烁落,卻偏偏與公主長得像乘粒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子顽馋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容