当前位置: 首页 > 知识库问答 >
问题:

底部导航栏放大所选项目

公冶伟
2023-03-14

我想在我的Android项目中创建一个底部导航栏。这里有导航栏中的5个项目(只有项目图标。没有任何项目的名称)。我想以这样的方式制作它,当一个项目被选中时,它会随着显示其名称而被放大一点。我该如何做到这一点?

另外,我尝试了一个图像视图,里面有图像按钮。一个未放大的图标图像按钮和相应的放大图标(它的名字)图像按钮重叠在一起,选择一个可见,另一个不可见,但这是个坏主意。代码可以工作,但布局非常糟糕和混乱。

共有2个答案

郁明诚
2023-03-14

您可以使用android支持库中的BottomNavigationView。

使用以下依赖性-

implementation 'com.android.support:design:26.1.0'

并在底部导航栏的xml文件中使用以下内容-

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:menu="@menu/navigation" />

注意-要使放大行为起作用,您需要在BottomNavigationView中有3个以上的项。

姚韬
2023-03-14

用提示回答:

答复:

如果使用最新的支持:设计库,然后实现BottomNavigationView,则这是默认行为。如我在上述评论中所述;下面是你的问题。

实现底部导航视图的一些链接(如果你在谷歌上搜索的话,你会很容易得到这些链接):

1]如何为Android应用编写底部导航栏

2]Android工作与底部导航

提示:

但从以上链接获得的知识的问题是;材料设计留档告诉我们,如果底部导航有:

3项 — 我们应该 为所有项目显示带有文本(始终)的图标。

4-5个项目-我们应该只显示活动图标的文本,隐藏不活动的项目(或视图)。

现在,你可能猜到了我接下来要说什么。

“这就是材料设计指南所建议的,所以我们就这么做吧。”

但这次我不会了。我不同意,你也应该同意。我来告诉你为什么。

材料设计指南并不总是正确的。

无论底部导航中有3个或5个项目,始终显示文本标签!

通过这样做,您将避免困扰材料设计的神秘肉类导航问题。向张玉祥大喊,感谢他意识到这一点!

按钮或链接不会向你解释它们的功能。相反,你必须点击它们才能找到答案 — 神秘肉类导航。

我相信至少在某个时候我们都是受害者。我们点击一个按钮,假设它做了什么,只为它做了完全其他的事情!

所以,请你们自己和你们的用户帮个忙。始终显示底部导航图标的文本标签。

提到这一点(例如):bottomNavigation。setTitleState(AHBottomNavigation.TitleState.ALWAYS_SHOW)

我尽了自己的一份力,提供了良好的用户体验。Rest全靠你了。

提示-来源和信用:Android底部导航终极指南

 类似资料:
  • Tabbar 底部导航栏 1.4.8 优点: 此组件一般用于应用的底部导航,具有如下特点: 可以设置凸起的按钮,且是全端通用的 图标可以使用字体图标(内置图标和扩展图标)或者图片 可以动态切换菜单的数量以及配置 切换菜单之前,可以进行回调鉴权 可以设置角标 有效防止组件区域高度塌陷,无需给父元素额外的内边距或者外边距来避开导航的区域 缺点: 虽然优点很多,但是如果用此组件模拟tabbar页面的话依

  • 本文向大家介绍Flutter实现底部导航栏,包括了Flutter实现底部导航栏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Flutter实现底部导航栏的具体代码,供大家参考,具体内容如下 效果 实现 先将自动生成的main.dart里面的代码删除, 创建app.dart作为首页的页面文件 创建today.dart、kb.dart、playground.dart三个页面文件作为ta

  • 本文向大家介绍android实现底部导航栏,包括了android实现底部导航栏的使用技巧和注意事项,需要的朋友参考一下 底部导航栏我选择用FragmentTabHost+Fragment来实现,这个方法比较好用,代码量也不多 首先是开始的activity_main.xml 也可以直接在xml文件里面写 这xml文件就一个view加一个tab  view用来显示碎片,tab用来放置底部按钮的数量 再

  • 我有以下菜单 出于某种原因,当有三个项目时,标题就会出现。但是当有三个以上的项目时,最后一个标题就没有了。是不是因为底部的栏太小了?

  • BottomBar有4个目的地:ScreenA,ScreenB,ScreenC和ScreenD。 在ScreenA上按下按钮(不是底部栏项)时,我想使用参数转到ScreenB。 导航图 底部栏 到目前为止,单击ScreenA上的按钮会将我导航到ScreenB,但参数值始终为0,因为我永远不会传递在lambda中传递的参数。我使用的是compose_version='1.2.0-alpha04'和"

  • 我的主要活动中有一个底部导航栏。通过单击底部导航中的一个选项卡,我想更改视图中的片段。我有以下代码:主要活动: } 我的一个片段: 如果我单击其中一个选项卡,就会显示正确的片段,因此这是可行的。然而,当新片段出现时,我想单击另一个选项卡来显示另一个片段,这就行不通了。底部导航栏不会对单击做出反应。甚至日志。i语句不起作用,因此似乎没有调用导航项SelectedListener。 我对android