1

このトピックに関するいくつかの質問を見つけ、解決策を試しましたが、正しく理解できないようです。RelativeLayout の最初の子として TableLayout を持ち、2 番目の子として SlidingDrawer を持っています。スライドは正常に機能しますが、引き出しが開いているときに引き出しをクリックすると、引き出しの下のアイテムが表示されます。

スライダーの開口部に「return true」を使用してオンタッチリスナーを追加しようとしましたが、引き出しを開くことができないようです。また、引き出しが開いていた場合に引き出しによって覆われる「可能性がある」ものはすべて、クリックできません。

「trueを返す」をに変更すると

if (slidingDrawer.isOpened()) return true; それ以外の場合は false を返します。

これにより、いくつかの問題が発生します。引き出しが開いて下のレイヤーをクリックできませんが、引き出しの何もクリックしたり、ハンドルをクリックして引き出しを閉じたりすることもできません。

何が欠けているのかわかりません。助けていただければ幸いです。

4

3 に答える 3

3

私は最終的に次のようなことをすることでこれを回避しました:

//sliderdrawer close
private OnDrawerCloseListener onClick_DrawerClosed = new OnDrawerCloseListener() {
    @Override
    public void onDrawerClosed() {
        _slideDrawer.setClickable(false);
    }
};

//sliderdrawer open
private OnDrawerOpenListener onClick_DrawerOpened = new OnDrawerOpenListener() {
    @Override
    public void onDrawerOpened() {
        _slideDrawer.setClickable(true);
    }
};
于 2011-06-26T19:45:16.243 に答える
3

親ドロワー コンポーネントで切り替えるのではなくandroid:clickable="true"、スライド ドロワーコンテンツコンポーネントで設定してみてください。私にとってはうまくいき、状態の変化をリッスンするためのコードは必要ありません。

于 2011-08-19T11:31:04.217 に答える
1

クリック可能を設定すると、後ろのウィンドウへのパススルーが完全に削除されますが、手続き型の方法では、ドロワーが閉じられると、下のアイテムがクリックされたことを確認できます。

于 2011-12-30T15:48:00.027 に答える