国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

這篇具有很好參考價值的文章主要介紹了【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

前言

  • 經(jīng)過前面的文章介紹,基本上 UniApp 的內(nèi)容就介紹完畢了
  • 那么從本文開始,我們就開始進行一個項目的實戰(zhàn)
  • 這次做的項目是蘋果計算器,這個項目的難度不是很大,但是也不是很簡單,適合練手

創(chuàng)建項目

  • 打開 HBuilderX,點擊左上角 文件 -> 新建 -> 項目

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

搭建基本布局

項目創(chuàng)建完畢之后,首先來分析一下蘋果計算器的整體布局結(jié)構(gòu),分為一上一下如下圖:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

  • 上面的部分主要是顯示計算結(jié)果的,下面的部分主要是顯示計算器的按鍵

搭建上半部分布局

更改 index.vue 的內(nèi)容如下:

<template>
	<view class="content">
		<view class="result-view"></view>
		<view class="btns-view"></view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
			}
		},
		onLoad() {

		},
		methods: {

		}
	}
</script>

<style lang="scss">
	.content {
		width: 100%;
		height: 100%;
		background-color: black;
		padding-left: 30rpx;
		padding-right: 30rpx;
		box-sizing: border-box;
	}
</style>

運行一下,看看效果發(fā)現(xiàn),背景并沒有是黑色,而是白色。

注意點:在 UniApp 中所有的元素都是放在 page 中的, 所以想要全屏,可以直接設(shè)置 page 的樣式

我們需要在 App.vue 中修改一下:

<style lang="scss">
	/*每個頁面公共css */
	page {
		width: 100%;
		height: 100%;
	}
</style>

這么一改,就可以了,效果如下:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

在改一下 index 的 navigationBarTitleText 為 計算器,更改 pages.json 如下:

"pages": [{
    "path": "pages/index/index",
    "style": {
        "navigationBarTitleText": "計算器"
    }
}],

基本上大致的容器布局代碼就寫完了,再繼續(xù)來完善一下一上一下的布局,更改樣式:

.result-view {
    width: 100%;
    height: 35%;
    background: red;
    
}

.btns-view {
    width: 100%;
    height: 65%;
    background: blue;
}

我這里使用的是 scss 進行編寫,這兩個類樣式是編寫在 .content 中的,效果如下:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

一上一下區(qū)分完畢了,先來完善一下上面的部分,這個部分主要是顯示計算結(jié)果的,我們需要在這個部分中放置一個文本框,用來顯示計算結(jié)果,更改代碼如下:

<template>
	<view class="content">
		<view class="result-view">
			<input class="result-box" type="text" v-model="showValue" disabled="true" style="font-size: 180rpx;" />
		</view>
		<view class="btns-view"></view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				showValue: 0
			}
		},
		onLoad() {
		},
		methods: {
		}
	}
</script>
  • 這里使用的是 input 標簽,因為 input 標簽可以設(shè)置 disabled 屬性,這樣就可以禁止用戶輸入了
  • 然后我們給 input 設(shè)置了一個 v-model,這樣就可以實現(xiàn)雙向綁定了
  • 然后我們給 input 設(shè)置了一個 style,這樣就可以設(shè)置字體大小了
  • 給 input 設(shè)置了一個 class,這樣就可以設(shè)置樣式了

.result-box 的樣式如下:

.result-box {
    height: 30%;
    text-align: right;
    color: white;
}

效果如下:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

但是呢,我發(fā)現(xiàn)位置不對,這里我使用子絕父相的方式來進行布局,更改代碼如下:

.result-view {
    width: 100%;
    height: 35%;
    background: red;
    position: relative;

    .result-box {
        height: 30%;
        text-align: right;
        color: white;
        position: absolute;
        
        left: 0;
        bottom: 0;
    }
}

搭建下半部分布局

上方的內(nèi)容先到此為止,接下來完善一下下方的內(nèi)容,通過我的觀察,我發(fā)現(xiàn)是有規(guī)律的唯一沒有規(guī)律的就是最后一行,這一行我們先不看,我先布局,不符合的地方我在單獨處理,廢話不多說我直接上代碼。

  • 首先在下方布局代碼當中,添加一個 view
<view class="btn-radius"></view>

在這個 view 容器當中我添加了一個 class 用來設(shè)置圓角的,因為每個按鈕都是圓角的,好,樣式代碼我先不編寫,繼續(xù)分析,那么這么多的按鈕難道都是 c + v 去復(fù)制出來吧,不可能,所以我這里采用循環(huán)的方式來進行創(chuàng)建即可,這里我就直接貼代碼:

buttons: [{
        text: 'AC',
        class: 'ft-color bg-gray ml-zero',
        func: 'operator',
        params: 'clear',
    },
    {
        text: '+/-',
        class: 'ft-color bg-gray',
        func: 'operator',
        params: 'opposite',
    },
    {
        text: '%',
        class: 'ft-color bg-gray',
        func: 'operator',
        params: 'percent',
    },
    {
        text: '÷',
        class: 'bg-orange',
        func: 'operator',
        params: 'divide',
    },
    {
        text: '7',
        class: 'bg-darkgray ml-zero',
        func: 'inputText',
        params: '7',
    },
    {
        text: '8',
        class: 'bg-darkgray',
        func: 'inputText',
        params: '8',
    },
    {
        text: '9',
        class: 'bg-darkgray',
        func: 'inputText',
        params: '9',
    },
    {
        text: '×',
        class: 'bg-orange',
        func: 'operator',
        params: 'multiply',
    },
    {
        text: '4',
        class: 'bg-darkgray ml-zero',
        func: 'inputText',
        params: '4',
    },
    {
        text: '5',
        class: 'bg-darkgray',
        func: 'inputText',
        params: '5',
    },
    {
        text: '6',
        class: 'bg-darkgray',
        func: 'inputText',
        params: '6',
    },
    {
        text: '-',
        class: 'bg-orange',
        func: 'operator',
        params: 'minus',
    },
    {
        text: '1',
        class: 'bg-darkgray ml-zero',
        func: 'inputText',
        params: '1',
    },
    {
        text: '2',
        class: ' bg-darkgray',
        func: 'inputText',
        params: '2',
    },
    {
        text: '3',
        class: ' bg-darkgray',
        func: 'inputText',
        params: '3',
    },
    {
        text: '+',
        class: 'bg-orange',
        func: 'operator',
        params: 'plus',
    },
    {
        text: '0',
        class: 'btn-size2 bg-darkgray ml-zero',
        func: 'inputText',
        params: '0',
    },
    {
        text: '.',
        class: 'bg-darkgray',
        func: 'inputText',
        params: '.',
    },
    {
        text: '=',
        class: 'bg-orange',
        func: 'operator',
        params: 'result',
    }
]
  • 這里我定義了一個 buttons 數(shù)組,里面存放的是每個按鈕的信息
  • text:按鈕的文本
  • class:按鈕的樣式
  • func:按鈕的功能
  • params:按鈕的參數(shù)

這個是定義在 data 中的,然后我們需要在頁面中進行循環(huán),這里我使用的是 v-for,代碼如下:

<view class="btns-view">
    <view class="btn-radius" v-for="item in buttons" :key="item.text" :class="[item.class]"
        @click="operate(item)">{{item.text}}</view>
</view>
  • 這里我使用的是 v-for 來進行循環(huán)
  • 然后我給每個按鈕添加了一個 class,這個 class 是從 buttons 數(shù)組中獲取的,動態(tài)樣式
  • 然后我給每個按鈕添加了一個點擊事件,這個點擊事件調(diào)用 methods 中的 operate 方法, 傳入的參數(shù)是當前按鈕的信息
  • 然后我給每個按鈕添加了一個文本,這個文本也是從 buttons 數(shù)組中獲取的,動態(tài)文本
  • 然后我給每個按鈕添加了一個 key,這個 key 是當前按鈕的文本,這個 key 確定了每個按鈕的唯一性

運行一下,效果如下:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

內(nèi)容都顯示出來了,現(xiàn)在只需要去編寫樣式即可, 我這里采用 flex 布局,代碼如下:

.btns-view {
    width: 100%;
    height: 65%;
    background: blue;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;

    .btn-radius {
        margin-left: 30rpx;
        width: 150rpx;
        height: 150rpx;
        line-height: 150rpx;
        border-radius: 50%;
        text-align: center;
        font-size: 60rpx;
        color: white;
    }
}

運行,效果如下圖,但是發(fā)現(xiàn)還是有問題的:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

這個問題呢,我已經(jīng)想到了,之前不是在 data 中定義了一個 buttons 數(shù)組嗎,這個數(shù)組中存放的是每個按鈕的信息,在信息中有一個 class 屬性里面有一個 ml-zero 這個是用來設(shè)置按鈕的左邊距的,凡是添加了這個屬性就代表著沒有左邊距,直接上樣式代碼:

.ml-zero {
    margin-left: 0;
}

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

運行,效果如下,可以看到已經(jīng)非常接近蘋果計算器的樣式了:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

到這里基本上已經(jīng)完成了大部分的布局了,接下來將對應(yīng)字體的樣式寫寫本文的內(nèi)容就大致完畢了,樣式代碼如下:

  • ft-color:字體顏色
.ft-color {
    color: black;
}

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

  • bg-orange:橙色背景
.bg-orange {
    background-color: orange;
}

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

  • bg-darkgray:深灰色背景
.bg-darkgray {
    background: gray;
}

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

  • bg-gray:灰色背景
.bg-gray {
    background-color: darkgrey;
}

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

  • btn-size2:按鈕大小
.btn-size2 {
    width: 300rpx;
    border-radius: 75rpx;
}

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

最后將不用的樣式清理掉,刪除 .result-view 中的 background: red;.btns-view 中的 background: blue;。

最后我再附上一張最后的效果圖:

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)

End

  • 如果你有任何問題或建議,歡迎在下方留言,我會盡快回復(fù)
  • 如果你覺得本文對你有幫助,歡迎點贊、收藏,你的支持是我寫作的最大動力

【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)文章來源地址http://www.zghlxwxcb.cn/news/detail-760474.html

到了這里,關(guān)于【UniApp】-uni-app-項目實戰(zhàn)頁面布局(蘋果計算器)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    最近得空學(xué)習(xí)了下uniapp結(jié)合vue3搭建跨端項目。之前也有使用uniapp開發(fā)過幾款聊天/仿抖音/后臺管理等項目,但都是基于vue2開發(fā)。隨著vite.js破局出圈,越來越多的項目偏向于vue3開發(fā),就想著uniapp搭配vite4.x構(gòu)建項目效果會如何?經(jīng)過一番嘗試果然真香~ uniapp官網(wǎng)提供了? HBuild

    2024年02月09日
    瀏覽(94)
  • 【uni-app】uni-app實現(xiàn)聊天頁面功能——功能篇(上)

    【uni-app】uni-app實現(xiàn)聊天頁面功能——功能篇(上)

    上一篇講到了如何布局,這一篇將講一下如何用uni-app實現(xiàn)小程序聊天頁面的最主要的功能——發(fā)消息后頁面滾動到最底部(參考過很多文章最后找到比較適合的方法)。 其他的功能(參考微信),之后的文章會講述到具體實現(xiàn)方法 點擊聊天框的時候,聊天框隨鍵盤抬起且聊

    2024年02月11日
    瀏覽(30)
  • (小程序)基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    (小程序)基于uniapp+vite4+vue3搭建跨端項目|uni-app+uview-plus模板

    版本信息: 點擊編輯器的文件 新建 項目(快捷鍵Ctrl+N) 2.選擇uni-app項目,輸入項目名/路徑,選擇項目模板,勾選vue3版本,點擊創(chuàng)建,即可成功創(chuàng)建。 3.點擊編輯器的運行 運行到瀏覽器 選擇瀏覽器 當然也可以運行到手機或模擬器、運行到小程序工具。 到這里一個簡單的

    2024年02月16日
    瀏覽(97)
  • uniapp系列-超詳細教你在uni-app+vue3里通過web-view組件傳遞信息打開H5頁面寫入localstorage并解決兼容性

    uniapp系列-超詳細教你在uni-app+vue3里通過web-view組件傳遞信息打開H5頁面寫入localstorage并解決兼容性

    web-view 是一個 web 瀏覽器組件,可以用來承載網(wǎng)頁的容器,會自動鋪滿整個頁面(nvue 使用需要手動指定寬高)。 點擊這里直達官網(wǎng)文檔 點擊這里下載我的代碼demo 本文最下面還有一些 常見或者奇怪問題解決方案 哦~ 之前開發(fā)好的H5頁面,不想重新開發(fā),想要直接放進項目用

    2024年02月09日
    瀏覽(27)
  • uni-app:單頁面的頁面切換

    uni-app:單頁面的頁面切換

    2024年02月07日
    瀏覽(36)
  • uni-app小程序:文件下載打開文件方法蘋果安卓都適用

    uni-app小程序:文件下載打開文件方法蘋果安卓都適用

    encodeURI函數(shù)將URI中的 特殊字符轉(zhuǎn)換為它們的UTF-8編碼表示形式 ,以確保它們在傳輸和處理過程中不會被誤解或錯誤解析。這樣可以避免因特殊字符導(dǎo)致的錯誤或安全問題。 源碼: 運行效果: 點擊文件1就可以下載打開文件預(yù)覽了

    2024年01月21日
    瀏覽(16)
  • uni-app監(jiān)聽頁面滾動

    在uni-app中可以通過監(jiān)聽頁面滾動事件來實現(xiàn)滾動效果或響應(yīng)滾動事件 在需要監(jiān)聽滾動的頁面或組件中,添加一個 scroll 元素,用于容納內(nèi)容并實現(xiàn)滾動效果。 在頁面或組件的方法中添加對應(yīng)的滾動事件處理函數(shù)。

    2024年02月07日
    瀏覽(100)
  • uni-app:刷新當前頁面

    執(zhí)行這三行代碼就可以實現(xiàn)uniapp刷新當前頁面。不論是tabbar還是page頁面 * * * * * * * * * * * * * * * *

    2024年02月11日
    瀏覽(22)
  • uni-app修改頁面背景色:

    uni-app修改頁面背景色:

    1.設(shè)置全局背景色(法一): 2.設(shè)置全局背景色(法二): 在App.vue的style樣式表中設(shè)置 3.設(shè)置單頁面背景色: 4.在pages.json里面設(shè)置單頁面背景色,這種是不行的,只能在頁面內(nèi)設(shè)置:

    2024年02月15日
    瀏覽(26)
  • uni-app分享小程序頁面

    uni-app分享小程序頁面

    uni-app的小程序頁面默認是不可分享的,點擊頁面右上角按鈕進行分享時會提示:“當前頁面不可轉(zhuǎn)發(fā)/當前頁面不可分享” 打開項目的manifest.json文件,在“App模塊配置”項的“Share(分享)”下,勾選“微信分享”: 在代碼中開啟分享轉(zhuǎn)發(fā)按鈕 再次打開小程序頁面,會發(fā)現(xiàn)已經(jīng)

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包