UniApp 中制作一个横向滚动工具栏-繁依Fanyi

前言

最近在用 UniApp 开发项目时,需要一个横向滑动的工具栏。常见的工具栏一般都是竖着的,但横向滑动的工具栏不仅能展示更多内容,还能让界面看起来更加丰富。不过很多朋友可能会发现,如何让内容“横着”展示又不变形、能流畅滚动、并且能自适应多种屏幕宽度,还是有点麻烦的。

这篇文章我会带大家一步步用 UniApp 实现一个横向滚动的工具栏,并讲解其中的一些关键点。话不多说,咱们直接上代码!

在这里插入图片描述

实现思路

横向工具栏的核心其实不复杂,大致可以分成以下几步:

  1. scroll-view 组件实现横向滚动。
  2. 使用 flex 布局,将每个工具项(如图标和文字)在 tool-item 中垂直排列。
  3. 优化 scroll-viewtool-item 的样式,让它们看起来整齐美观。

主要组件和样式

在 UniApp 中,scroll-view 是一个可以支持滚动的容器。在横向工具栏中,我们设置 scroll-viewscroll-xtrue,这样它就可以左右滑动了。此外,我们还会使用 flex 布局来控制工具栏中的每个图标和文字的排列方式。

页面布局

首先,让我们来写一个基本的页面布局,先不涉及复杂的样式。我们将横向工具栏放在一个 scroll-view 中,每个工具项都放在一个 view 里。这样,可以确保每个工具项是独立的,而且整个工具栏可以横向滚动。

代码实现

1. 初始化项目和页面

首先,创建一个新的 UniApp 项目(可以直接使用 HBuilderX,选择 uni-app 模板)。在项目中创建一个新页面,比如叫 toolbar。然后在页面的 .vue 文件中,编写 HTML 结构。

<template>
	<scroll-view style="flex: 1">
		<view class="container">
			
			<view> 
				<swiper class="swiper" :indicator-dots="true">
					<swiper-item class="swiper-item">
						<image class="swiper-image" :src="swiperImage[0]" mode="aspectFill">image>
					swiper-item>
					<swiper-item class="swiper-item">
						<image class="swiper-image" :src="swiperImage[1]" mode="aspectFill">image>
					swiper-item>
					<swiper-item class="swiper-item">
						<image class="swiper-image" :src="swiperImage[2]" mode="aspectFill">image>
					swiper-item>
				swiper>
			view>
			
			
			<scroll-view scroll-x="true" class="tool-bar">
				<view class="tool-item" v-for="(tool, index) in tools" :key="index">
					<image :src="tool.icon" class="tool-icon">image>
					<text class="tool-text">{{ tool.name }}text>
				view>
			scroll-view>

			
			<view class="card-container">
				<view class="card" style="background-color: #4fc3f7">
					<text class="card-title">日常工具ntext>
					<text class="card-description">聚合一些最热门,最常用的工具text>
				view>
				<view class="card" style="background-color: #f48fb1">
					<text class="card-title">计算工具ntext>
					<text class="card-description">计算器、温度、压力、单位换算工具…text>
				view>
				<view class="card" style="background-color: #f06292">
					<text class="card-title">查询工具ntext>
					<text class="card-description">各种文字、专用信息、资源查询…text>
				view>
				<view class="card" style="background-color: #4db6ac">
					<text class="card-title">图片工具ntext>
					<text class="card-description">图片水印、压缩、取色、壁纸大全…text>
				view>
				<view class="card" style="background-color: #81c784">
					<text class="card-title">文字工具ntext>
					<text class="card-description">暗语翻译器、特殊文本、编码工具…text>
				view>
				<view class="card" style="background-color: #42a5f5">
					<text class="card-title">开发工具ntext>
					<text class="card-description">各种代码工具、网页转应用…text>
				view>
				<view class="card" style="background-color: #64b5f6">
					<text class="card-title">提取工具ntext>
					<text class="card-description">视频提取、图片提取、网页提取…text>
				view>
				<view class="card" style="background-color: #26a69a">
					<text class="card-title">系统工具ntext>
					<text class="card-description">应用管理、WiFi密码查看、壁纸工具…text>
				view>
			view>
		view>
	scroll-view>
template>

2. 数据初始化

接下来,给页面添加数据属性。这里包括 swiperImage 数组(轮播图图片的路径)和 tools 数组(工具栏的图标和名称)。在

欢迎访问本站
您的访问时本站的荣幸
希望您能在本站
找到您想要的资源