我的项目截图:我的项目
我的目标设计:我的目标
我已经创建了一个(从右到左)导航抽屉。它工作正常,但当我试图将图标从左侧移动到右侧时,它不工作。
<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
需要在代码中更改以下内容。
@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及以上版本。
在setContentView(R.layout.main_活动)之前添加到活动中
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
这仅适用于API 17
我不确定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代码如下所示:
我知道如何改变抽屉图标,如果它在左侧,但我没有找到任何解决方案,改变导航抽屉汉堡图标,如果抽屉是在右侧。任何帮助都是可以感激的。
我的代码工作得很好:每次单击导航抽屉中的一个项目时,该项目就会被选中。 当然,我想用一个默认片段(主页)启动应用程序,但导航抽屉没有选中该项目。如何以编程方式选择该项?