Aufschalten design_navigation_menu_item.xml aus dem Android-Support Design Bibliothek und ändern Sie die Dinge, die Sie benötigen (Set android:ellipsize="end"
und android:maxLines="2"
)
Ihre res/layout/design_navigation_menu_item.xml sollte wie folgt aussehen:
<?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>
Jedoch, sollten Sie einfach den Text in Ellipse, um die Material Design-Richtlinien ordnungsgemäß zu befolgen.
Sie haben nichts zu überschreiben Sie einfach den Text ellipsize:
- Fügen Sie einen neuen Stil in die styles.xml
- den neuen Stil in die
NavigationView
Set
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" />
Danke, es funktioniert. –