0

嗨,我想在滑动抽屉打开时祝酒。我想知道如果slidingDrawer 正在打开,我怎么能听,然后如果是的话就烤面包。我到处寻找,但找不到问题的解决方案。希望你们中的一些人可以提供帮助:)

我在 developer.android 上找到了这个,但不知道如何使用它

    public void setOnDrawerCloseListener (SlidingDrawer.OnDrawerCloseListener onDrawerCloseListener)
4

2 回答 2

1
drawer.setOnDrawerOpenListener(new OnDrawerOpenListener() {
    @Override
    public void onDrawerOpened() {
        Toast.makeText(context, text, duration).show();
    }
});

填写contexttextduration根据您的需要。不过我想通知您,SlidingDrawer自 API 17 以来已弃用:http: //developer.android.com/reference/android/widget/SlidingDrawer.html

于 2013-04-22T16:40:32.257 回答
1

Activity你有你的地方SlidingDrawer,你只需像这样附加监听器:

编辑:

添加了更多代码:

布局.xml:

<?xml version="1.0" encoding="utf-8"?>
<SlidingDrawer xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/slidingDrawer1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:content="@+id/content"
    android:handle="@+id/handle" >

    <Button
        android:id="@+id/handle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Handle" />

    <LinearLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </LinearLayout>

</SlidingDrawer>

Activity onCreate设置内容视图的方法Activity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout);

    SlidingDrawer mySlidingDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer1);
    mySlidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() {
        @Override
        public void onDrawerOpened() {
            Toast.makeText(getApplicationContext(), "SlidingDrawer opened!", Toast.LENGTH_SHORT).show();
        }
    });
}

请记住,SlidingDrawer在 API 17 中实际上已弃用 - 不鼓励使用它。

于 2013-04-22T16:41:40.363 回答