保持活动项标签字体大小与 Xamarin Forms 中底部导航视图中的其他标签相同

斯基迪

在 Android 上,BottomNavigationView 中的活动项标签被连字符连接。这是因为活动标签的字体大小增加了。我希望它的行为类似于 iOS 导航栏,其中活动项目标签大小与其他标签没有区别。我按照本教程来达到这一点。问题图片

我找到了适用于 Android 原生How to remove hypheanted labels 的解决方案,但我不知道如何将它与 Xamarin Forms 一起使用。

我试过设置 ItemTextAppearanceActive:

public class NoShiftEffect : PlatformEffect {
    protected override void OnAttached() {
        if (!(Container.GetChildAt(0) is ViewGroup layout)) {
            return;
        }

        if (!(layout.GetChildAt(1) is BottomNavigationView bottomNavigationView)) {
            return;
        }

        bottomNavigationView.LabelVisibilityMode = LabelVisibilityMode.LabelVisibilityLabeled;

        // How to set this?
        bottomNavigationView.ItemTextAppearanceActive = 5;
    }

    protected override void OnDetached() {
    }
}

任何想法在哪里设置?

金属陶瓷

在标签页渲染器中试试这个:

public class CustomTabbedPageRenderer : TabbedPageRenderer
{
    public CustomTabbedPageRenderer(Context context) : base(context)
    {

    }
    protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e)
    {
        base.OnElementChanged(e);
        if (Element != null)
        {
            var bottomNavigationView = (GetChildAt(0) as Android.Widget.RelativeLayout).GetChildAt(1) as BottomNavigationView;
            var bottomNavMenuView = bottomNavigationView.GetChildAt(0) as BottomNavigationMenuView;
            for (var i = 0; i < Element.Children.Count; i++)
            {
                var item = bottomNavMenuView.GetChildAt(i) as BottomNavigationItemView;
                var itemTitle = item.GetChildAt(1);
                var smallTextView = ((TextView)((BaselineLayout)itemTitle).GetChildAt(0));
                var largeTextView = ((TextView)((BaselineLayout)itemTitle).GetChildAt(1));                    
                smallTextView.TextSize = 5f;
                largeTextView.TextSize = 5f;
                smallTextView.Ellipsize = Android.Text.TextUtils.TruncateAt.End;
                largeTextView.Ellipsize = Android.Text.TextUtils.TruncateAt.End;
            }
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Xamarin 中的自动缩放标签字体大小

来自分类Dev

Xamarin Forms 中的相同大小的标签

来自分类Dev

Xamarin.iOS-如何动态更改标签字体大小?

来自分类Dev

Xamarin Forms将不同字体大小的标签垂直对齐到同一基线

来自分类Dev

如何将Xamarin.Forms标签字体设置为粗体

来自分类Dev

标签字体大小更改

来自分类Dev

样式标签字体大小

来自分类Dev

Chart.js轴标签字体大小

来自分类Dev

python pptx XyChart设置标签字体大小

来自分类Dev

更改方向时更改 collectionViewCell 标签字体大小

来自分类Dev

获取调整后的标签字体大小

来自分类Dev

设置Xamarin.Forms标签的字体行高

来自分类Dev

Xamarin Forms 复杂的可点击标签

来自分类Dev

Xamarin.Forms - 标签不居中

来自分类Dev

Xamarin Forms - 指向可见的标签

来自分类Dev

如何在 Xamarin.Forms 中获取 iOS 和 Android 的辅助功能字体大小,以便我可以在 HTML WebView 中更改字体大小?

来自分类Dev

xamarin.forms中的LocationInView等效项

来自分类Dev

Xamarin Forms导航问题

来自分类Dev

在C#/ Xamarin.Forms中使用对象(标签)作为其他模板

来自分类Dev

在Xamarin Forms中,如何将标签的字体设置为Medium(系统字体)

来自分类Dev

R 过热包热图:更改底部轴标签字体大小

来自分类Dev

Xamarin.Forms:向网格中的标签添加填充?

来自分类Dev

在 Xamarin Forms 中按比例调整框视图大小的动画

来自分类Dev

绑定数据库中ASP.NET Gridview中的标签字体大小

来自分类Dev

绑定数据库中ASP.NET Gridview中的标签字体大小

来自分类Dev

Xamarin.Forms标签中带有FormattedString的自定义字体

来自分类Dev

如何在 Xamarin.Forms 中更改标签的字体系列

来自分类Dev

如何在Xamarin Forms中的滚动视图中检测击中网格底部

来自分类Dev

如何在C#中更改MS Charts标签字体大小?

Related 相关文章

  1. 1

    Xamarin 中的自动缩放标签字体大小

  2. 2

    Xamarin Forms 中的相同大小的标签

  3. 3

    Xamarin.iOS-如何动态更改标签字体大小?

  4. 4

    Xamarin Forms将不同字体大小的标签垂直对齐到同一基线

  5. 5

    如何将Xamarin.Forms标签字体设置为粗体

  6. 6

    标签字体大小更改

  7. 7

    样式标签字体大小

  8. 8

    Chart.js轴标签字体大小

  9. 9

    python pptx XyChart设置标签字体大小

  10. 10

    更改方向时更改 collectionViewCell 标签字体大小

  11. 11

    获取调整后的标签字体大小

  12. 12

    设置Xamarin.Forms标签的字体行高

  13. 13

    Xamarin Forms 复杂的可点击标签

  14. 14

    Xamarin.Forms - 标签不居中

  15. 15

    Xamarin Forms - 指向可见的标签

  16. 16

    如何在 Xamarin.Forms 中获取 iOS 和 Android 的辅助功能字体大小,以便我可以在 HTML WebView 中更改字体大小?

  17. 17

    xamarin.forms中的LocationInView等效项

  18. 18

    Xamarin Forms导航问题

  19. 19

    在C#/ Xamarin.Forms中使用对象(标签)作为其他模板

  20. 20

    在Xamarin Forms中,如何将标签的字体设置为Medium(系统字体)

  21. 21

    R 过热包热图:更改底部轴标签字体大小

  22. 22

    Xamarin.Forms:向网格中的标签添加填充?

  23. 23

    在 Xamarin Forms 中按比例调整框视图大小的动画

  24. 24

    绑定数据库中ASP.NET Gridview中的标签字体大小

  25. 25

    绑定数据库中ASP.NET Gridview中的标签字体大小

  26. 26

    Xamarin.Forms标签中带有FormattedString的自定义字体

  27. 27

    如何在 Xamarin.Forms 中更改标签的字体系列

  28. 28

    如何在Xamarin Forms中的滚动视图中检测击中网格底部

  29. 29

    如何在C#中更改MS Charts标签字体大小?

热门标签

归档