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

时间:2018-01-04 09:02:49

标签: android image android-layout android-studio navigationview

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

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"

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

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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

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

哦,请确保对于上述内容,您将使用android.support.v4.view.ViewCompat import

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

android:layout_gravity="end"

答案 2 :(得分:0)

尝试将整个菜单放在 FrameLayout 中。然后将框架布局的 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>