首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

App底部导航栏的设计

hi,这是系列文章:App之xxx的第2篇,第1篇我总结了App之“文字”的设计技巧。今天来总结下app底部导航栏的设计。 我为什么写这个系列的文章。...先来看看app常用的导航模式有哪些:列表式、网格式、标签导航、抽屉式导航等。...我们一步步推理下 1、由于需要便于拇指操作,这决定了我们只能在标签式导航中的底部导航栏来进行改造。 2、底部导航栏的功能按钮排布。...3、然后其中居中的一个按钮可以展开更多的选项,把底部导航栏变成网格式或者列表式的导航模式。 展开为列表式 展开为网格式 这样改善后,底部导航栏是不是变得特别强大了?...“消息”是社交类app的标配。 角标提醒,用小红点或者带数字的小红点。 地图类app应用较少采用常规的底部导航栏,没有固定范式,底部导航栏的具体样式根据业务来设计。

4.9K110

Android Compose 新闻App(六)导航动画、WebView、浮动按钮、底部导航

Android Compose 新闻App(六)导航动画、WebView、浮动按钮、底部导航 前言 正文 一、导航动画 ① 添加依赖 ② 使用 二、WebView使用 ① 导航传递URL参数 ② 配置WebView...三、FloatingActionButton使用 ① 修改默认显示位置 四、App主页面构建 ① 密封类 ② 构建底部导航Item ③ 装载底部导航Item ④ 显示导航 五、源码 前言   在上篇文章中完成了页面的导航...① 导航传递URL参数   当前的App中有两个页面,疫情新闻页面和风险区详情页面,那么我们需要再写一个WebView的加载页面,可以让我们去加载Url。...restoreState = true } } ) } } } 这个可组合函数就是构建底部导航的...HOME_ITEM = "home" const val COLLECTION_ITEM = "collection" 下面我们回到HomePage.kt中,主页面中修改代码如下: ③ 装载底部导航

4.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    uni-app学习笔记-手动配置底部导航(二)

    公司开发需要,打算花几天的时间,使用uni-app做一个考勤打卡app,功能很简单,使用上下班打卡,具体的考勤时间显示,当天考勤缺勤的人数统计,以及登录界面,个人信息头像显示界面。...前面以及对于uni-app的编辑器下载安装,以及新建一个项目的模板作了说明了,今天就先手动配置一下底部导航,模块不多,四个就够了。...1:新建一个空白项目 文件,新建,项目,新建一个uni-app ? 选择运行,在浏览器运行,现在已经创建空白模板了,开始写项目 ?...2:配置一下底部导航 当然可以选择新建模板就带有底部导航的模板,也可以自己手动配置,这里说一下手动配置对的步骤: 在pages里面新建4个页面 ?...: "static/img/tabbar/meactive.png", "text": "我的" } ] } } ok,导航做好了

    1.9K20

    原生JS | 导航底部横线跟随鼠标缓动

    功能效果 功能需求明确 横向导航条; 当鼠标在导航区域当中左右移动时,横线跟随鼠标移动。...原生JS功能实现 功能代码解析 在该效果中,由于鼠标移入淡入或淡出的功能代码的原理与jQuery基本类似,所以不做重复书写,只实现导航底部跟随的效果。...逻辑(原生JS)实现相关知识 计时器; 缓冲运动; 数学对象。 计时器 通过计时器(此处使用的是setTimeout),实现在一定时间间隔之后,执行一次函数当中的功能。...为了防止调用多个动画的问题(鼠标先后移入多个导航时),需要在开始一个新动画之前先清除原有的计时器。 关于具体的计时器知识,可详见底部相关文章。...数学对象 在JS当中,最小的单位为1像素,对于缓冲运动当中,所计算出的缓冲结果是存在小数的,这些小数需要计算为整数再做处理。

    7.2K81

    【Flutter】底部导航栏实现 ( BottomNavigationBar 底部导航栏 | BottomNavigationBarItem 导航栏条目 | PageView )

    文章目录 一、Scaffold 组件 二、底部导航栏整体架构 三、BottomNavigationBar 底部导航栏 四、BottomNavigationBarItem 导航栏条目 五、PageView..., 底部导航 , 浮动按钮等 API ; Scaffold 构造函数如下 : class Scaffold extends StatefulWidget { /// Creates a visual...底部导航栏组件 , 该底部导航栏的 item 设置图标与文字组件数组 , onTap 字段设置 ValueChanged 点击回调方法 , 通过该方法设置当前选择的页面索引值 ; Scaffold...type 字段设置 , 有两个可选类型 , fixed 和 shifting ; enum BottomNavigationBarType { /// BottomNavigationBar 导航底部的...onTap 字段设置点击事件 , 传入的参数是点击的底部导航栏索引值 ; BottomNavigationBar 构造函数 : BottomNavigationBar({ Key?

    6.1K50

    【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )

    文章目录 一、BottomNavigationBar 底部导航栏 二、PageView 滑动页面 三、BottomNavigationBar 与 PageView 关联 四、完整代码示例 1、核心导航组件...2、四个切换页面 3、应用启动主界面 4、运行效果 五、相关资源 一、BottomNavigationBar 底部导航栏 ---- 在 Scaffold 的 bottomNavigationBar 属性设置底部导航栏...; 设置当前索引 : BottomNavigationBar的 currentIndex 属性设置当前底部导航栏的选中索引 , 为其设置一个变量 , 改变该变量值后 , 通过 setState 方法更新...// 更新当前的索引值 _currentIndex = index; }); }, } PageView 被动设置选中状态 : 在 BottomNavigationBar 底部导航栏中点击导航按钮...:flutter_app/pages/image_page.dart'; import 'package:flutter_app/pages/search_page.dart'; import 'package

    4.4K20

    Flutter实现底部菜单导航

    简介 现在我们的 APP 上面都会在屏幕下方有一排的按钮,点击不同的按钮可以进入不同的界面。就是说在界面的底部会有一排的按钮导航。可看下面的图示。 完成图示 ? 程序工程目录 ?...梳理下实现步骤 我们需要实现这个底部菜单导航,就需要有底部菜单的那一排图标按钮。图标按钮是固定在一个工具栏 “bar” 上面。...我们底部的按钮是不会刷新的,界面会刷新,如何实现? 我们界面展示区域分为两块,一块展示底部的工具栏,一块展示页面。..._currentPage = _pageList[_currentIndex]; } @override Widget build(BuildContext context) { // 声明定义一个 底部导航的工具栏...), // 添加 icon 按钮 currentIndex: _currentIndex, // 当前点击的索引值 type: BottomNavigationBarType.fixed, // 设置底部导航工具栏的类型

    4.3K10

    掌握Flutter底部导航栏:畅游导航之旅

    Flutter底部导航栏概述 在Flutter中,底部导航栏是一种常见的用户界面组件,通常用于展示应用程序的主要功能模块或不同页面的快速导航入口。...底部导航栏通常位于屏幕底部,由一组导航项(通常是图标和标签组合)组成,用户可以通过点击不同的导航项来切换应用程序的不同部分。...您可以根据自己的需求自定义图标和标签,以创建符合应用程序主题和设计风格的底部导航栏。 4. 自定义底部导航栏外观 底部导航栏的外观对于应用程序的整体风格和用户体验至关重要。...底部导航栏与页面切换 底部导航栏不仅是一个用于导航的界面组件,还可以与应用程序的不同页面进行切换,以提供更丰富的用户体验。...通过将底部导航栏的选中项状态提升至顶层,然后使用Provider在底部导航栏和其他相关组件之间共享状态,可以实现底部导航栏的状态管理。

    35910

    Android实现底部导航栏功能

    本文实例为大家分享了Android实现底部导航栏功能的具体代码,供大家参考,具体内容如下 实验效果: ? (1)在drawable文件夹下新建tab_menu_bg.xml文件,具体代码如下: <?...中具体代码如下: package com.bzu.fshiner.parttimejob; import android.os.Bundle; import android.support.v7.app.AppCompatActivity...(false); tv_personal.setSelected(false); } //隐藏所有的Fragment private void hideAllFragment(android.app.FragmentTransaction...=null){ transaction.hide(f3); } } @Override public void onClick(View view){ android.app.FragmentTransaction...transaction.commit(); } } (9)创建类,类名为FistFragment,其中具体代码如下: package com.bzu.fshiner.parttimejob; import android.app.Fragment

    1.5K40
    领券