android的抽屉效果有SlidingDrawer组件,主要作为菜单显示更多信息,节省屏幕空间。使用简单,用法如下:
1、在xml布局文件中,添加一个SlidingDrawer的标签,内嵌一个ImageView和一个ListView,其中ImageView用来做抽开抽屉的手柄,ListView的内容可以作为抽屉打开有显示的内容,xml如下:
<SlidingDrawer android:id="@+id/slidingdrawer" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:handle="@+id/hanler"<!--这里的handle很重要,就是下面的图片ID--> android:content="@+id/content"<!--这里的content很重要,就是下面的ListView--> > <ImageView android:id="@+id/hanler" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher"/> <LinearLayout android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="wrap_content" ></LinearLayout> </SlidingDrawer>
2、在java代码中,主要做2件事:
一、给ListView设置数据源Adapter,这个不是SlidingDrawer必须的,然后把listView添加到抽屉组件中
二、给SlidingDrawer设置监听事件,有打开的、关闭、拖动
详细代码我都贴出来:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); drawer=(SlidingDrawer) findViewById(R.id.slidingdrawer); layout=(LinearLayout) findViewById(R.id.content); handler=(ImageView) findViewById(R.id.hanler); //创建listview listView=new ListView(this); //geilistview设置数据源Adapter listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,data)); layout.addView(listView); drawer.setOnDrawerOpenListener(new onDrawerOpenListenerImpl()); drawer.setOnDrawerCloseListener(new onDrawerCloseListenerImpl()); drawer.setOnDrawerScrollListener(new onDrawerScrollListenerImpl()); }
这个是抽屉的打开事件
private class onDrawerOpenListenerImpl implements OnDrawerOpenListener{ @Override public void onDrawerOpened() { Toast.makeText(MainActivity.this, "抽屉正在打开", Toast.LENGTH_SHORT).show(); } }
这个是抽屉的关闭事件
private class onDrawerCloseListenerImpl implements OnDrawerCloseListener{ @Override public void onDrawerClosed() { Toast.makeText(MainActivity.this, "抽屉关闭", Toast.LENGTH_SHORT).show(); } }
抽屉的拖动事件
private class onDrawerScrollListenerImpl implements OnDrawerScrollListener{ @Override public void onScrollEnded() { Toast.makeText(MainActivity.this, "抽屉拖动结束", Toast.LENGTH_SHORT).show(); } @Override public void onScrollStarted() { Toast.makeText(MainActivity.this, "抽屉正在拖动", Toast.LENGTH_SHORT).show(); } }
相关推荐
在Android开发中,SlidingDrawer是早期用于实现滑动抽屉效果的一个组件,它允许用户通过拖动一个可隐藏的视图来显示或隐藏内容。这个组件在Android API Level 8(即Android 2.2 Froyo)及之前版本中被广泛使用,但在...
这篇博客"2011.09.07(2)——— android 跨进程通信之隐式intent"主要探讨了Android中的隐式Intent如何用于实现IPC。隐式Intent是一种灵活的机制,让一个应用能够启动另一个并未明确声明的组件,只要后者声明了可以...
本篇文章将深入分析Android四大组件的安全性和数据存储安全,并提供实战案例。 首先,Android四大组件包括Activity、Broadcast Receiver、Service和Content Provider,它们是构建Android应用程序的基础。每一个组件...
在Android应用开发中,Activity是构成应用程序的基本组件之一,它代表了用户与应用交互的界面。当需要在不同Activity之间跳转时,Android提供了两种Intent类型:显式Intent和隐式Intent。本篇将深入探讨如何使用隐式...
Android 中使用隐式 Intent 完成应用的步骤及核心代码 Android 中的 Intent 机制是一种在不同组件之间传递请求消息的机制。Intent 可以分为显式 Intent 和隐式 Intent 两种。显式 Intent 是指明确指出了目标组件...
在本文中,我们将探讨如何在Android应用中使用`SlidingDrawer`组件来实现类似的功能。 首先,让我们了解一下`SlidingDrawer`的基本使用方法。`SlidingDrawer`是Android SDK中提供的一种视图,用于创建可滑动的抽屉...
在Android应用开发中,意图(Intent)是一种强大的通信机制,用于连接应用的不同组件,如活动(Activity)、服务(Service)和Broadcast Receiver。本篇将深入探讨Android中的两种主要意图类型:显示意图(Explicit ...
**隐式意图**:隐式意图则不指定具体的组件,而是通过设置动作(Action)、类别(Category)、数据(URI和数据类型)等信息,让Android系统根据这些信息自动找到最合适的组件来处理Intent。比如,拨打电话的Intent,...
在Android开发过程中,`Intent`是应用内部各组件之间进行通信的重要机制之一。通过`Intent`可以启动Activity、Service等组件,并且可以在组件间传递数据。根据使用场景的不同,`Intent`分为两种类型:显示Intent...
在Android应用开发中,Intent是连接应用程序不同组件的桥梁,用于启动新的Activity或者Service,以及在组件间传递数据。隐式Intent是一种不直接指定接收者的Intent类型,它通过指定一个Action、Category、Data等信息...
Android 中的 Intent 机制是 Android 应用程序之间通信的基础,Intent 负责描述一次操作的动作、动作涉及数据、附加数据等信息,然后 Android 系统根据 Intent 的描述找到对应的组件,并将 Intent 传递给调用的组件...
Intent分为显式Intent和隐式Intent,显式Intent指定目标组件,而隐式Intent则基于Action、Data、Category等元数据匹配合适的组件。 此外,Android组件的进程模型是可配置的,组件可以在同一个进程或不同进程中运行...
Intent有两种类型:显式Intent(指定目标组件)和隐式Intent(仅指定操作和数据,由系统匹配合适的组件处理)。 **Activity栈与状态** Activity的运行状态是由Activity栈管理的。每次启动新的Activity,它会被压入...
在深入探讨Android组件之前,首先理解Android系统的基石之一——组件化设计。组件是Android应用程序的基础构建块,它们各自承担特定的任务,并通过明确的接口与其他组件交互。这种组件化设计允许开发者将应用程序...
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它用于在不同的组件之间传递消息,实现界面间的切换、启动服务、发送广播等操作。本文主要关注如何使用隐式Intent来完成界面之间的切换任务。 首先,...
在Android系统中,四大组件是构建应用程序的核心元素,它们分别是Activity、Service、BroadcastReceiver和Content Provider。这四个组件各自承担着不同的职责,共同构成了Android应用的骨架。 **Activity**是用户与...
在Android应用开发中,四大组件(Activity、Service、BroadcastReceiver、ContentProvider)是构建应用程序的基础,而除此之外,还有一些用户界面组件同样至关重要,如RadioButton、CheckBox、ListView和Spinner。...
在Android应用开发中,Intent是一种强大的机制,用于在不同的组件之间传递数据和启动操作。在这个“猜数游戏”中,隐式Intent被用来实现主活动(MainActivity)与返回活动(BackActivity)之间的通信。下面我们将...
在Android开发中,Intent是应用程序之间进行交互的重要机制,它用于启动其他Activity、Service或BroadcastReceiver,甚至可以用来启动IntentFilter匹配的任何组件。本文将详细介绍如何在Android Studio中使用Intent...