gpt4 book ai didi

android - 导航 View 多行文本

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:52:19 24 4
gpt4 key购买 nike

我有一个带有 DrawerLayout 导航 View 的应用程序。我在菜单中以编程方式添加项目,因为我通过网络接收信息。但有时,项目名称可能很长,甚至被椭圆形图标“...”截断

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

谢谢

最佳答案

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

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

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<CheckedTextView
android:id="@+id/design_menu_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:drawablePadding="@dimen/design_navigation_icon_padding"
android:gravity="center_vertical|start"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
android:ellipsize="end"
android:maxLines="2" />
<ViewStub
android:id="@+id/design_menu_item_action_area_stub"
android:inflatedId="@+id/design_menu_item_action_area"
android:layout="@layout/design_menu_item_action_area"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</merge>

但是,您应该将文本省略以正确遵循 Material Design 指南。

你不必覆盖任何东西来省略文本:

  • 将新样式添加到 styles.xml
  • 将新样式设置为 NavigationView

res/values/styles.xml

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

res/layout/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" />

关于android - 导航 View 多行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36729974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com