0

こんにちは、slidingDrawer が開くたびに乾杯したいと思います。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();
    }
});

contexttextおよび必要に応じて入力durationします。ただし、SlidingDrawerAPI 17 以降は非推奨です: http://developer.android.com/reference/android/widget/SlidingDrawer.html

于 2013-04-22T16:40:32.257 に答える
1

Activityがある場所で、SlidingDrawer次のようにリスナーをアタッチするだけです。

編集:

さらにコードを追加しました:

layout.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 に答える