我制作了一个简单的应用程序,当我打开它时,我会看到壁纸和2个按钮。第一个按钮打开我的图库,第二个按钮打开一个计算器应用程序。现在我希望能够从左向右滑动并调出导航抽屉活动。
我这样做了:右击我的应用程序 - >新 - >活动 - >导航抽屉活动。它创建了2个java类(NavigationActivity
和NavigationDrawerFragment
),一些布局(activity_navigation
fragment_navigation
和fragment_navigation_drawer
)。无论如何,我不知道如何使导航抽屉显示,如何将其链接到我的activity_main
?
这是activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@drawable/digital_blue_wallp">
<TextView
android:text="@string/welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#fff8fdff"
android:textSize="24sp"
android:id="@+id/welcome"
android:layout_centerHorizontal="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:background="@drawable/calcu"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/welcome"
android:layout_alignEnd="@+id/welcome"
android:layout_centerHorizontal="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:background="@drawable/gallery"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
答案 0 :(得分:1)
在主活动布局中,声明导航抽屉如下:
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/left_drawer"
android:layout_width="180dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:paddingTop="10dp"
android:choiceMode="singleChoice"
android:numColumns="2"
android:verticalSpacing="15dp"
android:horizontalSpacing="5dp"
android:background="@color/black_transparent"/>
</android.support.v4.widget.DrawerLayout>
我选择使用GridView但你可以使用你想要的任何东西。然后在您的活动中实例化抽屉和子视图:
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
mAppsGrid = (GridView)findViewById(R.id.left_drawer);
然后,您应该创建一个自定义抽屉适配器,它与网格适配器非常相似,只是控制视图中的项目。
mDrawerAdapter = new DrawerAdapter(this);
mAppsGrid.setAdapter(mDrawerAdapter);
mAppsGrid.setOnItemClickListener(this));
我知道这并没有明确地告诉你你做错了什么,但是如果没有看到更多的代码,那就会猜到你的应用程序出了什么问题。希望这有帮助!