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

滑动ExandableListView在DrawerLayout表单从右到左

潘向明
2023-03-14

如何从右向左滑动抽屉布局表单中的ExpandableListView

我想在屏幕的右角显示ExpandableListView,我该怎么做??

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ExpandableListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@android:color/white"
        android:dividerHeight="0dp"
      />
</android.support.v4.widget.DrawerLayout>

共有3个答案

吕淮晨
2023-03-14

这是ActionBar中home(主页)按钮点击中的一个错误,它显示在以下行中:

if (mDrawerToggle.onOptionsItemSelected(item)) {
    return true;
}

删除我提到的行,其中有方法:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
   if (mDrawerToggle.onOptionsItemSelected(item)) {
      return true;
   }
   //....
}

并替换为:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    if (item != null && item.getItemId() == android.R.id.home) {
        if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
            mDrawerLayout.closeDrawer(Gravity.RIGHT);
        } else {
            mDrawerLayout.openDrawer(Gravity.RIGHT);
        }
        return true;
    }
    //...
}

另外,不要忘记将ListView的重力更改为右侧:android:layout\u gravity=“right”

广瑞
2023-03-14

我有同样的问题,因为我的应用程序是阿拉伯语,必须从右边开始。

在测试了这里的所有解决方案后,我发现最好的解决方案是:

  • 在清单中添加这一行:android: support portsRtl="true"
  • 在您的活动中添加以下代码:getWindow(). getDecorView(). setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
  • 在您的列表视图中不要使用:android:layout_gravity="right"因为如果您使用right,您会在更多Android版本中收到错误,例如4.0.4

解决方案是使用:android:layout_gravity="start",因为在这种情况下,listview跟随页面的重力。

葛承德
2023-03-14

android:layout_gravity="start"更改为android:layout_gravity="end"android:layout_gravity="right"(使用end将抽屉放在屏幕左侧进行从右到左的配置

编辑

似乎ActionBarDrawerToggle正在与动作栏主图标(Gravity.START)的同一侧寻找一个抽屉,该抽屉将是从左到右布局方向的左侧。如果你总是把抽屉放在右边,你可以这样做:

mDrawerToggle = new ActionBarDrawerToggle(this, mDrawer, R.drawable.ic_drawer, R.string.open_drawer, R.string.close_drawer) {

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item != null && item.getItemId() == android.R.id.home) {
            if (mDrawer.isDrawerOpen(Gravity.RIGHT)) {
                mDrawer.closeDrawer(Gravity.RIGHT);
            } else {
                mDrawer.openDrawer(Gravity.RIGHT);
            }
        }
        return false;
    }
};

如果抽屉始终与动作栏主图标相对,则可以使用重力。改为结束。

 类似资料:
  • 谷歌推出了DrawerLayout,当你点击动作栏的“向上”按钮时,它会在屏幕左侧区域显示一个菜单。 因为actionBarSherlock还不支持这个库,所以已经有办法通过这个项目来克服这个问题。 它已经在许多应用程序上有了变种:currents,gmail,hangouts,YouTube... 在“Currents”应用程序(以及youtube)上,当用户从左到右滑动(最左边)页面时,无论手

  • 我试着让滑动抽屉菜单和脸书应用程序中的一样。我在这里提出了很多像这样的问题。找到了很多库,但它们都在不同的库中从左向右或从右向左滑动。我想让它从两侧滑动,通过顶部栏中的两个按钮从左向右和从右向左滑动。有人能帮我吗。 提前感谢。

  • 我搜索了一些滑动示例, 但我仍然找不到从右向左滑动的例子。 请任何一个给样品项目滑动菜单从右到左

  • 本文向大家介绍Vue侧滑菜单组件——DrawerLayout,包括了Vue侧滑菜单组件——DrawerLayout的使用技巧和注意事项,需要的朋友参考一下 本文介绍一个简单的DrawerLayout(类似Android的DrawerLayout)布局组件的实现,基于Vue.js。介绍的内容已经制作成 vue-drawer-layout 组件。 前言 大家有兴趣先用手机扫一扫这个二维码,或者点我 然

  • 本文向大家介绍Android实现侧滑菜单DrawerLayout,包括了Android实现侧滑菜单DrawerLayout的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现侧滑菜单的具体代码,供大家参考,具体内容如下 点击左侧滑动 效果如下 代码实现过程: 1.导入框架build.gradle中 2.xml文件 主要的界面放在DrawerLayout 中,需要强调的是

  • 问题内容: 我所看到的和jQuery的。左右滑动的功能/方式如何? 问题答案: 您可以使用jQueryUI中的其他效果来执行此操作: 快速示例: