亚洲AV免费看深爱成人|日韩av另类一级特黄片在线|中国免费一级黄片|国产av一二三区|亚洲有码AV在线|久久亚洲国产日韩欧美|成人免费AV网站|婷婷一区综合一区|亚洲AV无码导航|高级欧美成人网站

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

答題積分小程序云開(kāi)發(fā)實(shí)戰(zhàn)-界面交互篇:首頁(yè)布局樣式與交互開(kāi)發(fā)

發(fā)布時(shí)間:2024-01-18 20:50:01 瀏覽量:233次

微信小程序云開(kāi)發(fā)實(shí)戰(zhàn)-答題積分賽小程序

界面交互篇:首頁(yè)頁(yè)面布局樣式與邏輯交互開(kāi)發(fā)

首頁(yè)效果圖


布局思路

5行布局,即5個(gè)塊級(jí)元素,輪播圖、通告欄、個(gè)人信息、功能區(qū)、版權(quán)。


實(shí)現(xiàn)細(xì)節(jié)

輪播圖區(qū)域

實(shí)現(xiàn)輪播圖效果,可以拆分一下,先實(shí)現(xiàn)圖片展示效果,再實(shí)現(xiàn)輪播效果。需要使用圖片組件image、滑塊視圖容器swiper。

圖片組件image

在index.wxml中,編寫布局代碼:

<image src="/images/b2.jpg"></image>

保存后,在模擬器實(shí)時(shí)預(yù)覽效果:

顯然,這樣的頁(yè)面效果并不符合我們的預(yù)期。我們想要的頁(yè)面效果是,圖片寬度要占滿屏幕的。

所以,我給它設(shè)置了兩項(xiàng):

在index.wxml中,添加屬性mode和class,并設(shè)置其值,編寫布局代碼:

<image src="/images/b2.jpg" mode='widthFix' class="banner-img"></image>

在index.wss中,添加設(shè)置寬度的樣式,編寫樣式代碼:

.banner-img {
		width: 100%;
}

保存后,在模擬器實(shí)時(shí)預(yù)覽效果:

補(bǔ)充說(shuō)明:

關(guān)于image組件的mode=widthFix。

widthFix:縮放模式,寬度不變,高度自動(dòng)變化,保持原圖寬高比不變。

塊視圖容器swiper

swiper只可放置swiper-item組件。

在index.wxml中,編寫布局代碼:

<swiper>
    <swiper-item>
    		<image src="/images/b2.jpg" mode='widthFix' class="banner-img"></image>
    </swiper-item>
</swiper>

保存后,在模擬器實(shí)時(shí)預(yù)覽效果:

因?yàn)橹挥幸粡垐D片,所以看不出來(lái),但是你可以左右滑動(dòng)試試看,就明白了。

好吧,我們多添加兩個(gè),再完善一下,在index.wxml中,編寫布局代碼:

<swiper class="screen-swiper" indicator-dots="{{true}}">
    <swiper-item>
    		<image src="/images/b2.jpg" mode='widthFix' class="banner-img"></image>
    </swiper-item>
    <swiper-item>
    		<image src="/images/b3.jpg" mode='widthFix' class="banner-img"></image>
    </swiper-item>
    <swiper-item>
    		<image src="/images/b4.jpg" mode='widthFix' class="banner-img"></image>
    </swiper-item>
</swiper>

保存后,在模擬器實(shí)時(shí)預(yù)覽效果:

看著輪播圖效果就已經(jīng)基本完善了。但是,想讓它實(shí)現(xiàn)自動(dòng)輪播,怎么辦?

再添加幾個(gè)屬性吧,在index.wxml中,編寫布局代碼:

<!-- 輪播圖 start -->
<swiper class="screen-swiper" indicator-dots="{{true}}" autoplay="{{true}}" interval="5000" duration="500">
    <swiper-item>
    		<image src="/images/b2.jpg" mode='widthFix' class="banner-img"></image>
    </swiper-item>
    <swiper-item>
    		<image src="/images/b3.jpg" mode='widthFix' class="banner-img"></image>
    </swiper-item>
    <swiper-item>
    		<image src="/images/b4.jpg" mode='widthFix' class="banner-img"></image>
    </swiper-item>
</swiper>
<!-- 輪播圖 end -->

補(bǔ)充說(shuō)明,關(guān)于swiper組件本次所應(yīng)用到的屬性:

通告欄

在index.wxml中,編寫布局代碼:

<!-- 通告欄 start -->
<view class="bg-orange light padding-sm text-sm">
  <text class="icon-notice"></text>
  <text>歡迎來(lái)到「護(hù)網(wǎng)專題信息安全知識(shí)競(jìng)答」,S2賽季火熱進(jìn)行中~</text>
</view>
<!-- 通告欄 end -->

個(gè)人信息區(qū)域

在index.wxml中,編寫布局代碼:

<!-- 個(gè)人信息區(qū)域 start -->
<view class="container">
    <view class="power padding-left-sl">
        <view class="cu-avatar">
        		<image class="avatar" src="/images/0.png" mode="widthFix"></image>
        </view>
        <view class="power_info">
            <view class="power_info_text">
                <view class="power_info_text_title">張三</view>
                <view class="power_info_text_tip">積分:100</view>
            </view>
            <image class="power_info_more" src="/images/arrow.svg"></image>
        </view>
    </view>
</view>
<!-- 個(gè)人信息區(qū)域 end -->

在index.wss中,編寫樣式代碼:

.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

.power {
    margin-top: 30rpx;
    border-radius: 5px;
    background-color: white;
    width: 93%;
    padding-bottom: 1rpx;
    position: relative;
    border: 2rpx solid #ddd;
}
.padding-left-sl {
		padding-left: 130rpx;
}
.cu-avatar {
    position: absolute;
    top: 40rpx;
    left: 20rpx;
    width: 100rpx;
}

.power_info {
    display: flex;
    padding: 30rpx 25rpx;
    align-items: center;
    justify-content: space-between;
}

.power_info_more {
    width: 30rpx;
    height: 30rpx;
    transform: rotate(0deg);
}

.power_info_less {
    width: 30rpx;
    height: 30rpx;
    transform: rotate(270deg);
}

.power_info_text {
    display: flex;
    flex-direction: column;
}

.power_info_text_title {
    font-weight: 400;
    font-size: 35rpx;
}

.power_info_text_tip {
    color: rgba(0, 0, 0, 0.4);
    font-size: 25rpx;
    margin-top: 10rpx;
}

.power_item {
    padding: 30rpx 25rpx;
    display: flex;
    justify-content: space-between;
}

.power_item_title {
		font-size: 30rpx;
}

.power_item_icon {
    width: 30rpx;
    height: 30rpx;
}

保存后,在模擬器實(shí)時(shí)預(yù)覽效果:


主功能按鈕區(qū)域

在index.wxml中,編寫布局代碼:

<!-- 主功能按鈕區(qū)域 start -->
<view class='grid col-2 padding-left-xs padding-right-xs padding-top-sm'>
    <view class='padding-sm'>
            <view class='bg-sky padding radius btn-box'>
                <view class="text-lg">開(kāi)始答題</view>
                <view class='margin-top-sm text-Abc'>從題庫(kù)中隨機(jī)抽題</view>
                <view class="icon-box">
                    <text class="icon-writefill text-white"></text>
                </view>
            </view>
      </view>
      <view class='padding-sm'>
        <view class='bg-yellow padding radius btn-box'>
        		<view class="text-lg">積分排名</view>
        		<view class='margin-top-sm text-Abc'>積分由高到低排行</view>
            <view class="icon-box">
                <text class="icon-upstagefill text-white"></text>
            </view>
        </view>
    </view>
</view>
<!-- 主功能按鈕區(qū)域 end -->

在index.wss中,編寫樣式代碼:

.line {
    width: 95%;
    margin: 0 auto;
    height: 2rpx;
    background-color: rgba(0, 0, 0, 0.1);
}

.icon-box {
    text-align: right;
    padding-top: 50rpx;
}
.icon-box text {
		font-size: 150rpx;
}

保存后,在模擬器實(shí)時(shí)預(yù)覽效果:


底部版權(quán)聲明

在index.wxml中,編寫布局代碼:

<!-- 底部版權(quán)聲明 start -->
<view class="environment">
		版權(quán)所有 ?木番薯科技
</view>
<!-- 底部版權(quán)聲明 end -->

在index.wss中,編寫樣式代碼:

.environment {
    color: #ccc;
    font-size: 24rpx;
    margin-top: 15%;
    text-align: center;
}

保存后,在模擬器實(shí)時(shí)預(yù)覽效果:

這樣,首頁(yè)的靜態(tài)界面就完成了。

頁(yè)面跳轉(zhuǎn)邏輯交互

實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)邏輯交互,有兩種方式:

1、通過(guò)導(dǎo)航組件 navigator,添加頁(yè)面鏈接的方式實(shí)現(xiàn);

2、通過(guò)API路由wx.navigateTo,添加點(diǎn)擊事件監(jiān)聽(tīng)及其處理函數(shù)的方式實(shí)現(xiàn);

這里,我選擇后者去進(jìn)行實(shí)現(xiàn)。

跳轉(zhuǎn)至個(gè)人中心頁(yè)

添加點(diǎn)擊事件,在index.wxml中,編寫布局代碼:

實(shí)現(xiàn)路由跳轉(zhuǎn),在index.js中,編寫布局代碼:

goToMy() {
    wx.navigateTo({
        url: '../my/my'
    })
}

跳轉(zhuǎn)至答題頁(yè)

添加點(diǎn)擊事件,在index.wxml中,編寫布局代碼:

實(shí)現(xiàn)路由跳轉(zhuǎn),在index.js中,編寫布局代碼:

goToTest() {
    wx.navigateTo({
    		url: '../test/test'
    })
}

跳轉(zhuǎn)至積分排名頁(yè)

添加點(diǎn)擊事件,在index.wxml中,編寫布局代碼:

實(shí)現(xiàn)路由跳轉(zhuǎn),在index.js中,編寫布局代碼:

goToRank() {
    wx.navigateTo({
    		url: '../rank/rank'
    })
}

熱門課程推薦

熱門資訊

請(qǐng)綁定手機(jī)號(hào)

x

同學(xué)您好!

您已成功報(bào)名0元試學(xué)活動(dòng),老師會(huì)在第一時(shí)間與您取得聯(lián)系,請(qǐng)保持電話暢通!
確定