将文本放在图像旁边的导航视图中

问题描述 投票:0回答:3

我有一个问题,我想移动图片旁边的文字,这是问题的图片

https://imgur.com/a/E2mKn

我想得到这个

https://imgur.com/a/7wgkn

我的菜单

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layoutDirection="ltr">

    <group>
        <item
            android:id="@+id/menu_login"
            android:title="Login"
            android:icon="@drawable/icon_login"
            />

        <item
            android:id="@+id/menu_myfile"
            android:title=""
            android:icon="@drawable/icon_login"
            android:visible="false"
            />

        <item
            android:id="@+id/menu_favorites"
            android:title="Favorites"
            android:icon="@drawable/icon_favorites"/>
        <item
            android:id="@+id/menu_rate"
            android:title="Rate us"
            android:icon="@drawable/icon_rate"/>

        <item
            android:id="@+id/menu_logout"
            android:title="Logout"
            android:icon="@drawable/icon_logout"
            android:visible="false"
            />
    </group>



    <group
        android:id="@+id/group_two">
        <item android:title="Subscribe to us">
            <menu>
                <item
                    android:id="@+id/menu_facebook"
                    android:title="Facebook"
                    android:icon="@drawable/icon_facebook"/>
                <item
                    android:id="@+id/menu_telegram"
                    android:title="Telegram"
                    android:icon="@drawable/icon_telegram"/>
                <item
                    android:id="@+id/menu_instagram"
                    android:title="Instagram"
                    android:icon="@drawable/icon_instagram"/>

                <item
                    android:id="@+id/menu_twitter"
                    android:title="Twitter"
                    android:icon="@drawable/icon_twitter"/>
            </menu>
        </item>
    </group>

</menu>

我尝试使用它,但它不起作用

android:layoutDirection="ltr"

问题只出现在一些旧设备上,我希望得到很多帮助。

android image android-layout android-studio navigationview
3个回答
0
投票

你必须这样试试

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cc_drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

.
.
.
.
.


    <android.support.design.widget.NavigationView
        android:id="@+id/cc_nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/am_nav_header_main_new"
        app:menu="@menu/am_main_navigation_items" />

</android.support.v4.widget.DrawerLayout>

am_main_navigation_items.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/cc_nav_home"
            android:icon="@drawable/ic_dashboard_primary"
            android:title="@string/nav_dashboard" />
        <item
            android:id="@+id/am_nav_auditList"
            android:icon="@drawable/ic_audits_primary"
            android:title="@string/nav_auditList" />
        <item
            android:id="@+id/nav_about"
            android:icon="@drawable/ic_about_primary"
            android:title="@string/cc_nav_about" />
            <item
                android:id="@+id/nav_app_info"
                android:icon="@drawable/ic_info_outline_primary"
                android:title="@string/cc_nav_app_info" />
    </group>
<group
        android:id="@+id/group_two">
        <item android:title="Subscribe to us">
            <menu>
                <item
                    android:id="@+id/menu_facebook"
                    android:title="Facebook"
                    android:icon="@drawable/icon_facebook"/>
                <item
                    android:id="@+id/menu_telegram"
                    android:title="Telegram"
                    android:icon="@drawable/icon_telegram"/>
                <item
                    android:id="@+id/menu_instagram"
                    android:title="Instagram"
                    android:icon="@drawable/icon_instagram"/>

                <item
                    android:id="@+id/menu_twitter"
                    android:title="Twitter"
                    android:icon="@drawable/icon_twitter"/>
            </menu>
        </item>
    </group>

</menu>

0
投票

这将有所帮助,layoutDirection是在API 17中引入的,下面的所有设备都应该调用此行:

ViewCompat.setLayoutDirection( findViewById(R.id.my_view) , ViewCompat.LAYOUT_DIRECTION_LTR );

哦,并确保为上述你将使用android.support.v4.view.ViewCompat导入

或者您可以将此片段添加到菜单项:

android:layout_gravity="end"

0
投票

尝试将整个菜单放在FrameLayout中。然后将frame layout的layout_width设置为wrap_content。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent">

    <menu>

        <group>

            <item
                android:id="@+id/menu_login"
                android:icon="@drawable/icon_login"
                android:title="Login" />

            <item
                android:id="@+id/menu_myfile"
                android:icon="@drawable/icon_login"
                android:title=""
                android:visible="false" />

            <item
                android:id="@+id/menu_favorites"
                android:icon="@drawable/icon_favorites"
                android:title="Favorites" />

            <item
                android:id="@+id/menu_rate"
                android:icon="@drawable/icon_rate"
                android:title="Rate us" />

            <item
                android:id="@+id/menu_logout"
                android:icon="@drawable/icon_logout"
                android:title="Logout"
                android:visible="false" />
        </group>


        <group android:id="@+id/group_two">

            <item android:title="Subscribe to us">

                <menu>

                    <item
                        android:id="@+id/menu_facebook"
                        android:icon="@drawable/icon_facebook"
                        android:title="Facebook" />

                    <item
                        android:id="@+id/menu_telegram"
                        android:icon="@drawable/icon_telegram"
                        android:title="Telegram" />

                    <item
                        android:id="@+id/menu_instagram"
                        android:icon="@drawable/icon_instagram"
                        android:title="Instagram" />

                    <item
                        android:id="@+id/menu_twitter"
                        android:icon="@drawable/icon_twitter"
                        android:title="Twitter" />
                </menu>
            </item>
        </group>

    </menu>

</FrameLayout>
© www.soinside.com 2019 - 2024. All rights reserved.