首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何添加左击并在图像上单击“抽屉”Android

如何添加左击并在图像上单击“抽屉”Android
EN

Stack Overflow用户
提问于 2016-01-11 01:59:41
回答 1查看 254关注 0票数 0

我想把抽屉添加到我的应用程序中,就像我在这张照片中画的一样。

有什么简单的方法吗?

我没有使用实质性用户界面。从空活性开始

有没有办法这样做?

检查图像

抽屉图解

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-11 02:10:28

您可以在DrawerLayout支持库中使用v4。首先,将以下依赖项添加到gradle文件中:

代码语言:javascript
运行
复制
compile 'com.android.support:support-v4:23.1.1' 

然后,在活动中,您希望有一个抽屉,用android.support.v4.widget.DrawerLayout替换根视图。根应该包含到子视图,第一个将是主要活动,第二个子将是导航抽屉。

代码语言:javascript
运行
复制
<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">

    <!-- Main Activity Content -->
    <LinearLayout
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- The navigation drawer -->
    <ListView
        android:id="@+id/drawer"
        android:layout_width="240dp" 
        android:layout_height="match_parent" />

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

现在,假设您了解如何设置ListView,您应该能够设置ListView并将其滑动为open。

要添加打开图标,您必须在活动中设置一个ActionBarDrawerToggle,这样做的方式如下(请记住使用支持库ActionBarDrawerToggle )

代码语言:javascript
运行
复制
DrawerLayout layout = (DrawerLayout) findViewById(R.id.drawer_layout);

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, layout, "Open Drawer", "Close Drawer") {
    public void onDrawerClosed(View view) {
        super.onDrawerClosed(view);
    }

    public void onDrawerOpened(View drawerView) {
        super.onDrawerOpened(drawerView);
    }
}

// Set the toggle.
layout.setDrawerListener(toggle);

然后在你的onOptionsItemSelected

代码语言:javascript
运行
复制
@Override
public boolean onOptionsItemSelected(MenuItem item) {
     if (toggle.onOptionsItemSelected(item)) {
         return true;
     }
}

现在图标应该打开抽屉。

Android文档有一个很好的教程,可以在:http://developer.android.com/training/implementing-navigation/nav-drawer.html上获得更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34713130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档