减小导航抽屉中某些元素的文本大小。

4

我的NavigationDrawer如下所示:screenshot

我想要缩小类别标签之间的间距并缩小它们的字体大小,使其更像一个列表并占用更少的空间。我该怎么做?

activity_main.xml

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_drawer_container"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <android.support.design.widget.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="wrap_content"
            android:layout_weight="1"
            android:layout_height="0dp"
            android:layout_gravity="start"
            android:fitsSystemWindows="true"
            app:headerLayout="@layout/nav_header_main"
            app:menu="@menu/activity_main_drawer">

        </android.support.design.widget.NavigationView>

    </LinearLayout>


</android.support.design.widget.NavigationView>

activity_main_drawer.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<group android:checkableBehavior="single">
    <item
        android:id="@+id/newest"
        android:title="@string/nav_newest"/>
    <item
        android:id="@+id/highest_rated"
        android:title="@string/top_rated"/>
    <item
        android:id="@+id/earth_view"
        android:title="@string/Earth_by_satellite"/>
</group>

<item android:title="Categories"
    >
    <menu>
        <group android:checkableBehavior="single">
            <item
                android:id="@+id/Abstract"
                android:title="@string/Abstract"/>

            <item
                android:id="@+id/Animal"
                android:title="@string/Animal"/>
            <item
                android:id="@+id/Anime"
                android:title="@string/Anime"/>
            <item
                android:id="@+id/Comics"
                android:title="@string/Comics"/>
            <item
                android:id="@+id/Earth"
                android:title="@string/Earth"/>
            <item
                android:id="@+id/Fantasy"
                android:title="@string/Fantasy"/>
            <item
                android:id="@+id/Man_Made"
                android:title="@string/Man_Made"/>
            <item
                android:id="@+id/Movie"
                android:title="@string/Movie"/>
            <item
                android:id="@+id/Music"
                android:title="@string/Music"/>
            <item
                android:id="@+id/Photography"
                android:title="@string/Photography"/>
            <item
                android:id="@+id/Sci_Fi"
                android:title="@string/Sci_Fi"/>
            <item
                android:id="@+id/Space"
                android:title="@string/Space"/>
            <item
                android:id="@+id/TV_Show"
                android:title="@string/TV_Show"/>
            <item
                android:id="@+id/Vehicles"
                android:title="@string/Vehicles"/>
            <item
                android:id="@+id/Video_Game"
                android:title="@string/Video_Game"/>
        </group>
    </menu>
</item>

在您的activity_main_drawer.xml中的每个项目中使用android:textSize="__dp"。 - HarshitMadhav
我认为你指的是activity_main.xml,你的解决方案将会减少所有文本标签的大小。 - user11230
是的,你可以试一试。 - HarshitMadhav
但我想要减小“类别”元素的文本大小,而不是前三个标签的大小。 - user11230
在这种情况下,在类别项目中使用该textSize标记。 - HarshitMadhav
显示剩余3条评论
1个回答

0

在你的style.xml中自定义文本大小

<style name="NavDrawerTextStyle" parent="Base.TextAppearance.AppCompat">
    <item name="android:textColor">@color/colorPrimaryDark</item>
    <item name="android:textSize">16sp</item>
    <item name="android:textStyle">bold</item>
</style>

在你的NavigationView中:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<android.support.design.widget.NavigationView
    ...
    app:itemTextAppearance="@style/NavDrawerTextStyle"
     />

2
这会改变抽屉中每个元素的文本大小。我想保持前两个标签的常规大小。 - user11230

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接