首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

屉子中关闭时默认显示一部分的内容

2012-08-02 
抽屉中关闭时默认显示一部分的内容先说下标题的意思,因为当时问了一些人,就是这么问的,说不知道啥意思,没

抽屉中关闭时默认显示一部分的内容
  先说下标题的意思,因为当时问了一些人,就是这么问的,说不知道啥意思,没理解我想干什么,这个意思就是。。。抽屉难道一定要完全关着或完全开着吗?我只开一部分然后声称我这个抽屉是关着的不行么。
算了,先贴个效果图:
这个情况是抽屉关着的时候:



这个情况是抽屉开着的时候

这是股票的一个抽屉。 然后boss给我说还有3个,顿时纠结,幸亏把内容最为丰富的股票给先搞定了。

。。。。就是这样,一开始就想着把抽屉的手柄写大点,用一个LinearLayout布局来做手柄,但是这样一来,发现布局里面的所有的按钮都相应了我的点击事件,擦。在抽屉手把位置的左边,有个按钮,点击一下会变成减号,但是如果是这样的话,那么我只要一点手柄,他也跟着变了。寻找了一些方法,未果,终于在csdn的一个问题帖子上找到了类似的情况。
基本的思路就是,先拦截了所有抽屉手柄的触摸事件,然后在找出用户想作为手柄的控件id,以及他们的屏幕位置。当点击到那些位置的时候,再做判断。


直接上代码,比较少代码就能实现的,理解起来也不困难,当然,要熟悉Android的控件所对应的实现方法会更简单:

Java代码 
public class MySlidingDrawer extends SlidingDrawer { 
 
    private int mHandleId = 0; // 抽屉行为控件ID 
    private int[] mTouchableIds = null; // Handle 部分其他控件ID 
 
    public int getHandleId() { 
        return mHandleId; 
    } 
 
    public void setHandleId(int mHandleId) { 
        this.mHandleId = mHandleId; 
    } 
 
    public int[] getTouchableIds() { 
        return mTouchableIds; 
    } 
 
    public void setTouchableIds(int[] mTouchableIds) { 
        this.mTouchableIds = mTouchableIds; 
    } 
 
    public MySlidingDrawer(Context context, AttributeSet attrs) { 
        super(context, attrs); 
 
    } 
 
    public MySlidingDrawer(Context context, AttributeSet attrs, int defStyle) { 
        super(context, attrs, defStyle); 
 
    } 
 
    /*
     * 获取控件的屏幕区域
     */ 
    public Rect getRectOnScreen(View view) { 
        Rect rect = new Rect(); 
        int[] location = new int[2]; 
        View parent = view; 
        if (view.getParent() instanceof View) { 
            parent = (View) view.getParent(); 
        } 
        parent.getLocationOnScreen(location); 
        view.getHitRect(rect); 
        rect.offset(location[0], location[1]); 
        return rect; 
    } 
 
    // 拦截触摸事件,用以修改事件 
    @Override 
    public boolean onInterceptTouchEvent(MotionEvent event) { 
 
        // 确定控件的屏幕区域 
        int[] location = new int[2]; 
        int x = (int) event.getX(); 
        int y = (int) event.getY(); 
        this.getLocationOnScreen(location); 
        x += location[0]; 
        y += location[1]; 
        // handle部分独立按钮,循环寻找非抽屉手柄的布局。 
        if (mTouchableIds != null) { 
            for (int id : mTouchableIds) { 
                View view = findViewById(id); 
                Rect rect = getRectOnScreen(view); 
                if (rect.contains(x, y)) { 
                    Log.i("MySlidingDrawer on touch", String.format( 
                            "Action=%d Button=%s", event.getAction(), 
                            ((LinearLayout) view).getContext().toString())); 
                    // return 
                    boolean result = view.dispatchTouchEvent(event); 
                    Log.i("MySlidingDrawer dispatchTouchEvent", "" + result); 
                    return false; 
                } 
            } 
        } 
 
        // 抽屉行为控件,本想同上,写成数组,寻找多个手柄,但是这样就没有了抽屉拖动效果 
        if (event.getAction() == MotionEvent.ACTION_DOWN && mHandleId != 0) { 
            View view = findViewById(mHandleId); 
 
            Log.i("MySlidingDrawer on touch", String.format("%d,%d", x, y)); 
 
            Rect rect = getRectOnScreen(view); 
 
            Log.i("MySlidingDrawer handle screen rect", String 
                    .format("%d,%d %d,%d", rect.left, rect.top, rect.right, 
                            rect.bottom)); 
            if (rect.contains(x, y)) {// 点击抽屉控件时交由系统处理 
                Log.i("MySlidingDrawer", "Hit handle"); 
            } else { 
                return false; 
            } 
        } 
        return super.onInterceptTouchEvent(event); 
    } 
 
    // 获取触屏事件 
    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
 
        return super.onTouchEvent(event); 
    } 

大概就是这样的重写。

再来是布局文件:
<?xml version="1.0" encoding="UTF-8"?>
Xml代码 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 
 
 
    <Button android:id="@+id/buttontest" android:layout_height="wrap_content" 
        android:layout_width="wrap_content" android:text="test" /> 
    <!-- bottom menu --> 
 
 
    <!-- 股票类 --> 
    <com.quan.MySlidingDrawer android:id="@+id/stockDrawer" 
        android:layout_width="fill_parent" android:layout_height="wrap_content" 
        android:orientation="vertical" android:handle="@+id/handleStock" 
        android:content="@+id/contentStock" android:visibility="visible"> 
 
 
        <!-- top view 3 rows --> 
        <LinearLayout android:layout_width="fill_parent" 
            android:id="@+id/handleStock" android:layout_height="85dip" 
            android:orientation="vertical"> 
            <LinearLayout android:layout_height="wrap_content" 
                android:layout_width="wrap_content" android:layout_gravity="center"> 
                <ImageButton android:layout_width="60dip" android:id="@+id/mbutton" 
                    android:layout_height="10dip" android:src="@drawable/up" 
                    android:layout_gravity="center" /> 
            </LinearLayout> 
            <!-- top left --> 
            <LinearLayout android:layout_height="75dip" 
                android:layout_width="fill_parent" android:orientation="horizontal" 
                android:id="@+id/otherHandler" android:background="#000"> 
                <!-- top left --> 
                <RelativeLayout android:id="@+id/topLeft" 
                    android:layout_width="39dip" android:layout_height="75dip" 
                    android:orientation="vertical"> 
 
                    <Button android:layout_width="30dip" android:layout_height="30dip" 
                        android:id="@+id/btn_add_cut" android:layout_alignParentTop="true" 
                        android:layout_alignParentLeft="true" android:layout_gravity="center_vertical" 
                        android:focusable="true" android:background="@drawable/add" /> 
                </RelativeLayout> 
 
 
                <RelativeLayout android:layout_width="120dip" 
                    android:layout_height="75dip"> 
                    <TextView android:layout_height="50dip" android:text="2616.99" 
                        android:layout_width="wrap_content" 
                        android:layout_alignParentRight="true" 
                        android:layout_alignParentTop="true" android:gravity="right" 
                        android:id="@+id/tvCurrentPrice" android:textColor="#f00" 
                        android:textSize="30dip" android:layout_gravity="center_vertical" /> 
 
                    <TextView android:text="+22.50" android:textColor="#f00" 
                        android:layout_height="wrap_content" android:layout_width="wrap_content" 
                        android:layout_alignParentBottom="true" 
                        android:layout_alignParentLeft="true" android:id="@+id/tvUpDown" /> 
 
                    <TextView android:layout_height="wrap_content" 
                        android:text="0.21%" android:layout_width="wrap_content" 
                        android:layout_alignParentBottom="true" 
                        android:layout_alignParentRight="true" android:gravity="right" 
                        android:textColor="#f00" android:id="@+id/tvAmplitude" /> 
                </RelativeLayout> 
 
 
 
 
 
 
                <View android:layout_width="1dip" android:layout_height="fill_parent" 
                    android:background="#ff0000" /> 
 
                <!-- top right --> 
                <TableLayout android:id="@+id/topRight" 
                    android:layout_width="159dip" android:layout_height="fill_parent" 
                    android:orientation="vertical"> 
                    <TableRow> 
                        <TextView android:text="委比" android:textColor="#848684" 
                            android:layout_height="24dip" android:layout_width="70dip" 
                            android:gravity="left" /> 
                        <TextView android:id="@+id/tvAppoint" android:text="2.3%" 
                            android:textColor="#f00" android:layout_height="24dip" 
                            android:layout_width="89dip" android:gravity="right" 
                            android:paddingRight="2dip" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:layout_width="fill_parent" 
                        android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:text="委差" android:textColor="#848684" 
                            android:layout_height="24dip" android:layout_width="70dip" 
                            android:gravity="left" /> 
                        <TextView android:id="@+id/tvPoorCom" android:text="32" 
                            android:textColor="#f00" android:layout_height="24dip" 
                            android:layout_width="89dip" android:gravity="right" 
                            android:paddingRight="2dip" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:layout_width="fill_parent" 
                        android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:text="量比" android:textColor="#848684" 
                            android:layout_height="24dip" android:layout_width="70dip" 
                            android:gravity="left" /> 
                        <TextView android:id="@+id/tvReQuantity" android:text="-2.45" 
                            android:textColor="#0f0" android:layout_height="24dip" 
                            android:layout_width="89dip" android:gravity="right" 
                            android:paddingRight="2dip" /> 
                    </TableRow> 
                </TableLayout> 
 
            </LinearLayout> 
 
        </LinearLayout> 
 
 
 
 
 
 
 
 
        <LinearLayout android:id="@+id/contentStock" 
            android:layout_width="fill_parent" android:layout_height="fill_parent" 
            android:orientation="vertical" android:background="#000"> 
 
 
 
            <View android:layout_height="1dip" android:layout_width="fill_parent" 
                android:background="#f00" /> 
 
            <!-- bottom rows --> 
            <LinearLayout android:id="@+id/bottomRows" 
                android:layout_height="253dip" android:layout_width="fill_parent" 
                android:orientation="horizontal"> 
                <!-- left table --> 
                <TableLayout android:layout_height="fill_parent" 
                    android:layout_width="160dip"> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="均价" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="总手" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="现手" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:id="@+id/CURVOL" android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="金额" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:id="@+id/MONEY" android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="外盘" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="买一" android:gravity="left" /> 
                        <TextView android:text="2539.82" android:textColor="#f00" 
                            android:layout_height="25dip" android:layout_width="80dip" 
                            android:gravity="center" /> 
                        <TextView android:text="23" android:textColor="#AE8B00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="买二" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="买三" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="买四" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="买五" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" android:paddingRight="2dip" /> 
                    </TableRow> 
                </TableLayout> 
 
                <!-- right table --> 
                <TableLayout android:layout_height="fill_parent" 
                    android:layout_width="160dip"> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="昨收" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="开盘" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:id="@+id/OPEN" android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="最高" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:id="@+id/MAX" android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="最低" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:id="@+id/MIN" android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="内盘" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:id="@+id/INNER_TRAY" android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <View android:layout_height="1dip" android:background="#f00" /> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="卖一" android:gravity="left" /> 
                        <TextView android:text="2549.82" android:textColor="#f00" 
                            android:layout_height="25dip" android:layout_width="80dip" 
                            android:gravity="center" /> 
                        <TextView android:text="45" android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="卖二" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="卖三" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="卖四" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#C39C00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                    <TableRow> 
                        <TextView android:textColor="#848684" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:text="卖五" android:gravity="left" /> 
                        <TextView android:textColor="#f00" android:layout_height="25dip" 
                            android:layout_width="80dip" android:gravity="center" /> 
                        <TextView android:textColor="#AE8B00" 
                            android:layout_height="25dip" android:layout_width="40dip" 
                            android:gravity="right" /> 
                    </TableRow> 
                </TableLayout> 
            </LinearLayout> 
        </LinearLayout> 
    </com.quan.MySlidingDrawer> 
 
 
</RelativeLayout>  
         做完这些之后又把那三个布局写完,发现。。。你妹的,原来的布局是用一个相对布局来控制抽屉的拉伸长度。其他3个内容都没这么多,所以3个的下面都是空的,又搞笑呢。接着寻找抽屉适配内容进行长度控制。
   又是重写,烦躁的很啊。直接代码,主要思想就是先测量里面内容的高度。因为抽屉本身是没有写wrap_content(即适配内容高度来进行拉伸高度控制)的,所以重写的应该是这个部分。在一个英文的编程疑难解答上找到了答案。
           onMeasure是测量控件宽高的方法。setMeasuredDimension是设置到布局里~~~

Java代码 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
        int widthSpecMode = MeasureSpec.getMode(widthMeasureSpec); 
        int widthSpecSize = MeasureSpec.getSize(widthMeasureSpec); 
        int heightSpecMode = MeasureSpec.getMode(heightMeasureSpec); 
        int heightSpecSize = MeasureSpec.getSize(heightMeasureSpec); 
        if (widthSpecMode == MeasureSpec.UNSPECIFIED 
                || heightSpecMode == MeasureSpec.UNSPECIFIED) { 
            throw new RuntimeException( 
                    "SlidingDrawer cannot have UNSPECIFIED dimensions"); 
        } 
        final View handle = getHandle(); 
        final View content = getContent(); 
        measureChild(handle, widthMeasureSpec, heightMeasureSpec); 
        int extra = handle.getHeight() / 6; 
        System.out.println(handle.getMeasuredHeight() + "        " 
                + content.getHeight()); 
        if (mVertical) { 
            int height = heightSpecSize - handle.getMeasuredHeight()/* + extra */ 
                    - mTopOffset; 
            content.measure(widthMeasureSpec, 
                    MeasureSpec.makeMeasureSpec(height, heightSpecMode)); 
            heightSpecSize = handle.getMeasuredHeight() /* + extra */ 
                    + mTopOffset + content.getMeasuredHeight(); 
            widthSpecSize = content.getMeasuredWidth(); 
            if (handle.getMeasuredWidth() > widthSpecSize) 
                widthSpecSize = handle.getMeasuredWidth(); 
        } 
        setMeasuredDimension(widthSpecSize, heightSpecSize); 
    } 
    private boolean mVertical; 
    private int mTopOffset; 
  直接把这段copy 到需要重写的抽屉类中,测试,搞定。

            但是发现左边的那个图标又不能点击了,变成了触摸,就是有一定位移才能改变他的变量。
经过多番努力,改了一下,把那个按钮放在一个布局里面再对布局进行点击监听,一切搞定~~


测试这个抽屉用的activity:

Java代码 
public class MainActivity extends Activity { 
    private MySlidingDrawer mdrawer;// 抽屉 
    private ImageButton mbutton;// 抽屉拉动按钮 
    private LinearLayout otherHandler; 
    private LinearLayout bottomRows;// 抽屉真正的内容 
    private Button test; 
    private TextView tv_top; 
    private Button btn_add_cut;// 真实抽屉左上角按钮 
    int i = 1;// 定义成员变量,协助点击左上角按钮时改变图标,点击+变成2,点击-变成1 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        requestWindowFeature(Window.FEATURE_NO_TITLE); 
        setContentView(R.layout.main); 
        findview(); 
        addlistener(); 
    } 
    /** 初始化组件 */ 
    private void findview() { 
        tv_top = (TextView) this.findViewById(R.id.tvCurrentPrice); 
        test = (Button) this.findViewById(R.id.buttontest); 
        mdrawer = (MySlidingDrawer) findViewById(R.id.stockDrawer); 
        // 传入抽屉手柄的id 
        mdrawer.setHandleId(R.id.mbutton); 
        mdrawer.setTouchableIds(new int[] { R.id.otherHandler }); 
        mbutton = (ImageButton) findViewById(R.id.mbutton); 
        otherHandler = (LinearLayout) this.findViewById(R.id.otherHandler); 
        bottomRows = (LinearLayout) findViewById(R.id.bottomRows); 
        btn_add_cut = (Button) findViewById(R.id.btn_add_cut); 
    } 
    /**
     * 给各个组建添加事件监听
     */ 
    private void addlistener() { 
        test.setOnClickListener(new OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                tv_top.setText("8585"); 
            } 
        }); 
        // 抽屉打开 
        mdrawer.setOnDrawerOpenListener(new MySlidingDrawer.OnDrawerOpenListener() { 
            public void onDrawerOpened() { 
                mbutton.setImageResource(R.drawable.down); 
            } 
        }); 
        // 抽屉关闭 
        mdrawer.setOnDrawerCloseListener(new MySlidingDrawer.OnDrawerCloseListener() { 
            public void onDrawerClosed() { 
                mbutton.setImageResource(R.drawable.up); 
            } 
        }); 
        // 抽屉正在拉动或停止拉动 
        mdrawer.setOnDrawerScrollListener(new MySlidingDrawer.OnDrawerScrollListener() { 
            public void onScrollStarted() { 
            } 
            public void onScrollEnded() { 
            } 
        }); 
        btn_add_cut.setOnClickListener(new ButtonAddCutListener()); 
        // 
        // 真实抽屉,非头部部分,在打开状态点击时关闭抽屉 
        bottomRows.setOnClickListener(new OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                if (mdrawer.isOpened()) { 
                    mdrawer.animateClose(); 
                } 
            } 
        }); 
        // otherHandler.setOnClickListener(new ButtonAddCutListener()); 
    } 
    /** 抽屉左上角按钮点击改变图片事件 */ 
    private class ButtonAddCutListener implements OnClickListener { 
        @Override 
        public void onClick(View v) { 
            switch (i) { 
            case 1: 
                btn_add_cut.setBackgroundDrawable(getResources().getDrawable( 
                        R.drawable.cut)); 
                // btn_add_cut_on.setImageResource(R.drawable.cut); 
                i = 2; 
                System.out.println("+"); 
                break; 
            case 2: 
                btn_add_cut.setBackgroundDrawable(getResources().getDrawable( 
                        R.drawable.add)); 
                // btn_add_cut_on.setImageResource(R.drawable.add); 
                i = 1; 
                System.out.println("-"); 
                break; 
            } 
        } 
    } 

热点排行