android – 导航查看多行文字

前端之家收集整理的这篇文章主要介绍了android – 导航查看多行文字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有导航视图的应用程序,用于我的DrawerLayout.我在菜单添加了编程项目,因为我通过网络收到信息.但有时候,一个项目名称可能很长,即使有了椭圆形图标“……”也会被切断.

有人知道如何为菜单项设置多行吗?

谢谢

解决方法

覆盖 Android支持设计库中的design_navigation_menu_item.xml并修改您需要的东西(设置android:ellipsize =“end”和android:maxLines =“2”)

您的res / layout / design_navigation_menu_item.xml应如下所示:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <merge xmlns:android="http://schemas.android.com/apk/res/android">
  3. <CheckedTextView
  4. android:id="@+id/design_menu_item_text"
  5. android:layout_width="0dp"
  6. android:layout_height="match_parent"
  7. android:layout_weight="1"
  8. android:drawablePadding="@dimen/design_navigation_icon_padding"
  9. android:gravity="center_vertical|start"
  10. android:textAppearance="@style/TextAppearance.AppCompat.Body2"
  11. android:ellipsize="end"
  12. android:maxLines="2" />
  13. <ViewStub
  14. android:id="@+id/design_menu_item_action_area_stub"
  15. android:inflatedId="@+id/design_menu_item_action_area"
  16. android:layout="@layout/design_menu_item_action_area"
  17. android:layout_width="wrap_content"
  18. android:layout_height="match_parent" />
  19. </merge>

但是,您应该简化文本以正确遵循Material Design准则.

你不必覆盖任何东西只是椭圆化文本:

>向styles.xml添加新样式
>将新样式设置为NavigationView

res / values / styles.xml

  1. <style name="TextAppearance">
  2. <item name="android:ellipsize">end</item>
  3. </style>

res / layout / activity_main.xml

  1. <android.support.design.widget.NavigationView
  2. android:id="@+id/nav_view"
  3. android:layout_width="wrap_content"
  4. android:layout_height="match_parent"
  5. android:layout_gravity="start"
  6. android:fitsSystemWindows="true"
  7. app:headerLayout="@layout/nav_header_main"
  8. app:menu="@menu/activity_main_drawer"
  9. app:theme="@style/TextAppearance" />

猜你在找的Android相关文章