如何在android中增加底部导航视图的高度及其图标和文本大小?
Posted
技术标签:
【中文标题】如何在android中增加底部导航视图的高度及其图标和文本大小?【英文标题】:How to increase Bottom Navigation View height along with its icon and text sizes in android? 【发布时间】:2017-07-08 05:17:53 【问题描述】:我正在使用
compile 'com.android.support:design:25.0.0'
Android 底部导航视图,其高度是固定的,并显示带有小文本的小图标。
我的问题是如何增加它们的尺寸?
我尝试通过样式更改xml
文件的大小...除textsize
属性外,所有其他属性都在工作。
如果可以的话,我可以务实地这样做吗,那么请写一个代码
【问题讨论】:
【参考方案1】:我找到了一个解决方案来覆盖dimens.xml
文件中的一些尺寸值,它适用于文本大小,但图标仍然很小。
这是我的做法。希望这段代码也能帮助其他人:-)
<!-- Overriding Default Bottom Navigation sizes-->
<dimen name="design_bottom_navigation_text_size" tools:override="true">16sp</dimen>
<dimen name="design_bottom_navigation_active_text_size" tools:override="true">20sp</dimen>
<dimen name="design_bottom_navigation_height" tools:override="true">70dp</dimen>
【讨论】:
成功了!谢谢@RamshaS 它增加了底部导航视图的高度,而不是图标的大小。 我认为BottomNavigationView
源代码的链接在这里会有所帮助。要查找其他维度属性,请查看此处:github.com/material-components/material-components-android/blob/…【参考方案2】:
为那些希望增加其他价值的人扩展 RamshaS 答案。以下是可以设置的所有值的列表
bottom_navigation_elevation
bottom_navigation_height
bottom_navigation_icon
bottom_navigation_margin_bottom
bottom_navigation_margin_top_active
bottom_navigation_margin_top_inactive
bottom_navigation_max_width
bottom_navigation_min_width
bottom_navigation_notification_elevation
bottom_navigation_notification_height
bottom_navigation_notification_margin_left
bottom_navigation_notification_margin_left_active
bottom_navigation_notification_margin_top
bottom_navigation_notification_margin_top_active
bottom_navigation_notification_margin_top_classic
bottom_navigation_notification_padding
bottom_navigation_notification_radius
bottom_navigation_notification_text_size
bottom_navigation_notification_width
bottom_navigation_padding_left
bottom_navigation_padding_right
bottom_navigation_small_active_max_width
bottom_navigation_small_active_min_width
bottom_navigation_small_inactive_max_width
bottom_navigation_small_inactive_min_width
bottom_navigation_small_margin_bottom
bottom_navigation_small_margin_top
bottom_navigation_small_margin_top_active
bottom_navigation_small_selected_width_difference
bottom_navigation_text_size_active
bottom_navigation_text_size_forced_active
bottom_navigation_text_size_forced_inactive
bottom_navigation_text_size_inactive
【讨论】:
有没有办法以编程方式更改这些值?【参考方案3】:这是默认的
<dimen name="design_bottom_navigation_active_item_max_width">168dp</dimen>
<dimen name="design_bottom_navigation_active_item_min_width">96dp</dimen>
<dimen name="design_bottom_navigation_active_text_size">14sp</dimen>
<dimen name="design_bottom_navigation_elevation">8dp</dimen>
<dimen name="design_bottom_navigation_height">56dp</dimen>
<dimen name="design_bottom_navigation_icon_size">24dp</dimen>
<dimen name="design_bottom_navigation_item_max_width">96dp</dimen>
<dimen name="design_bottom_navigation_item_min_width">56dp</dimen>
<dimen name="design_bottom_navigation_margin">8dp</dimen>
<dimen name="design_bottom_navigation_shadow_height">1dp</dimen>
<dimen name="design_bottom_navigation_text_size">12sp</dimen>
<color name="design_bottom_navigation_shadow_color">#14000000</color>
【讨论】:
【参考方案4】:您可以在dimens.xml 中覆盖的底部导航的正确值(如@RamshaS 回复)如下
design_bottom_navigation_active_item_max_width
design_bottom_navigation_active_text_size
design_bottom_navigation_elevation
design_bottom_navigation_height
design_bottom_navigation_item_max_width
design_bottom_navigation_item_min_width
design_bottom_navigation_margin
design_bottom_navigation_shadow_height
design_bottom_navigation_text_size
design_bottom_navigation_item_background
design_bottom_navigation_item
design_bottom_navigation_shadow_color
我尝试设置@Kobus Pitzer 列表的许多值,但在dimens.xml 中覆盖模式不起作用。它们可能是可以被代码而不是 dimens.xml 覆盖的值
【讨论】:
【参考方案5】:我在 BottomNavigationView 上使用了 scaleX 和 scaleY, 添加开始和结束填充以将底栏图标调整到所需位置。 解决不同屏幕尺寸的图标和文字大小问题。
【讨论】:
以上是关于如何在android中增加底部导航视图的高度及其图标和文本大小?的主要内容,如果未能解决你的问题,请参考以下文章