最近在做Android版的棋牌类游戏时发现,一些菜单是用Android的抽屉组件SlidingDrawer实现的,实现方法很简单,但是效果却很炫。下面就是一个简单的抽屉实例。
布局文件main.xml
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#f4f3b0"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="#308612" android:text="@string/hello" /> <SlidingDrawer android:layout_width="69dp" android:layout_height="208dp" android:layout_gravity="right|center_vertical" android:orientation="horizontal" android:handle="@+id/slid_handler" android:content="@+id/slid_content"> <LinearLayout android:id="@+id/slid_handler" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/handler"/> </LinearLayout> <LinearLayout android:id="@+id/slid_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="right|center_vertical" android:background="@drawable/bg"> <ImageView android:layout_width="32dp" android:layout_height="32dp" android:layout_margin="10dp" android:background="@drawable/setting"/> <ImageView android:layout_width="32dp" android:layout_height="32dp" android:layout_margin="10dp" android:background="@drawable/call"/> <ImageView android:layout_width="32dp" android:layout_height="32dp" android:layout_margin="10dp" android:background="@drawable/talk"/> <ImageView android:layout_width="32dp" android:layout_height="32dp" android:layout_margin="10dp" android:background="@drawable/music"/> </LinearLayout> </SlidingDrawer> </FrameLayout> |
handle是抽屉的拖动按钮,content是抽屉中的内容,这两个都是必不可少的。效果图如下:
抽屉关闭状态:
抽屉打开状态:
该实例中的抽屉是从右往左拉开。其他方向则改变抽屉的布局位置即可。