如何在NavigationView的菜单项中设置ellipsize? [英] How to set ellipsize in menu item of NavigationView?

查看:90
本文介绍了如何在NavigationView的菜单项中设置ellipsize?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在NavigationView的菜单项中设置android:ellipsize ="end".在我当前的实现中,菜单项中的文本太长时,它仅在结尾处被剪切.到目前为止,这是我尝试过的:

I want set android:ellipsize="end" in menu items of NavigationView. In my current implementaion when text in menu item is too long, it's just cut at the end. Here is what I've tried so far:

<android.support.design.widget.NavigationView
        app:itemTextAppearance="@style/AppTheme.Widget.NavigationView.TextAppearance"
        android:id="@+id/navigation"
        style="@style/AppTheme.Widget.NavigationView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/drawer_view"/>

<style name="AppTheme.Widget.NavigationView" parent="Widget.Design.NavigationView">
        <item name="android:textAppearance">@style/AppTheme.Widget.NavigationView.TextAppearance</item>
        <item name="android:background">@color/drawer_background</item>
        <item name="itemTextColor">@color/color_drawer_item</item>
        <item name="itemIconTint">@color/color_drawer_item</item>
</style>

<style name="AppTheme.Widget.NavigationView.TextAppearance">
        <item name="android:ellipsize">end</item>
        <item name="android:maxLines">1</item>
</style>

此处介绍了另一种可能的解决方案: Android NavigationView:不显示完整项目且不截断

Another possible solution is described here: Android NavigationView : not show full item and not truncate

推荐答案

styles.xml 中添加新样式:

res/values/styles.xml

<style name="TextAppearance">
    <item name="android:ellipsize">end</item>
</style>

将新样式设置为NavigationView:

res/布局/activity_main.xml

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer"
    app:theme="@style/TextAppearance" />

这篇关于如何在NavigationView的菜单项中设置ellipsize?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆