当前位置: 首页 > 知识库问答 >
问题:

如何将导航抽屉图标设置到项目文本的右侧?

公英哲
2023-03-14

我的项目截图:我的项目

我的目标设计:我的目标

我已经创建了一个(从右到左)导航抽屉。它工作正常,但当我试图将图标从左侧移动到右侧时,它不工作。

<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="wrap_content"
    android:layout_height="wrap_content" />

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="250dp"
    android:layout_height="match_parent"
    android:layout_gravity="end"
    android:background="@color/nav"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:itemIconTint="#d2a967"
    app:itemTextColor="#d2a967"
    app:menu="@menu/activity_main_drawer" />

注意:我的API是14

共有3个答案

邢财
2023-03-14

需要在代码中更改以下内容。

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) //call this before super.onCreate
private void forceRtlIfSupported() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
    }
}

androidManifiest.xml

android:supportsRtl="true"

注:这将适用于API 16及以上版本。

苏硕
2023-03-14

在setContentView(R.layout.main_活动)之前添加到活动中

 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
    }

这仅适用于API 17

丁宏盛
2023-03-14

我不确定ActionBar是否提供这样的功能。但是你只需要使用菜单项就可以做到。在最右侧创建菜单:

 <item
    android:id="@+id/menu_action_Drawer"
    android:layout_width="wrap_content"
    app:actionLayout="@layout/item_menu_drawer"
    android:title=""
    app:showAsAction="always"/>

然后在菜单项上单击打开/关闭抽屉:-

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.menu_action_Drawer:
            if (drawerLayout.isDrawerOpen(GravityCompat.END)) {
                drawerLayout.closeDrawer(GravityCompat.END);
            } else {
                drawerLayout.openDrawer(GravityCompat.END);
            }
            break;
    }
}
 类似资料:
  • 问题内容: 我想在导航抽屉中的项目旁边有这样设置的图标: 我知道该过程必须涉及将图像视图添加到抽屉式XML的XML文本视图中,但是我不确定该怎么做。做到这一点的最佳方法是什么? 这是我的drawer_list_item.xml: 问题答案: 导航抽屉本质上是一个列表视图。使用所需的任何布局(text + imageview)创建一个drawer_item.xml,并将其传递给arrayAdapte

  • 我想在ActionBar的右侧[而不是默认的左侧]显示ActionBar导航图标。 此外,我需要有相同的幻灯片在动画导航抽屉图标在Gmail和谷歌加应用程序。 有没有什么方法可以轻松实现右侧的动画。 任何形式的帮助或建议都是感激的。 提前道谢!

  • 我的要求如下图所示,我的导航抽屉应该从右侧打开。我已经实现了这一点。我的导航抽屉从右向左打开。但问题是切换图标总是在左侧。如何将切换图标设置在右侧? 我查过以下SO问题,但没有一个有用: 将导航抽屉中的切换按钮图像图标从右改为左

  • 首先,我知道这个问题以前在这里出现过,但试了很多,还是没有成功。我在Android开发者网站上做这个例子。 你能帮我弄清楚我的代码中的问题是什么,为了设置菜单从右边打开,以及为了将操作栏按钮移到右边,我应该做些什么改变吗? xml代码如下所示:

  • 我知道如何改变抽屉图标,如果它在左侧,但我没有找到任何解决方案,改变导航抽屉汉堡图标,如果抽屉是在右侧。任何帮助都是可以感激的。

  • 我的代码工作得很好:每次单击导航抽屉中的一个项目时,该项目就会被选中。 当然,我想用一个默认片段(主页)启动应用程序,但导航抽屉没有选中该项目。如何以编程方式选择该项?