簡體   English   中英

觸摸滑動抽屜(片段)外部時,關閉打開的滑動抽屜

[英]close a opened slidingdrawer when touching outside of the slidingdrawer (fragment)

我有一個擴展片段的類。 我有一個要執行的滑動抽屜操作,如果打開了滑動抽屜,則當用戶觸摸滑動抽屜外部時,它應該自動關閉。 我的手動打開和關閉代碼如下:

        final Button slideButton;
        final SlidingDrawer slidingDrawer;
        slideButton = (Button) view.findViewById(R.id.slideButton);
        slidingDrawer = (SlidingDrawer) view.findViewById(R.id.SlidingDrawer);

        slideButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(slidingDrawer.isOpened())
                    slidingDrawer.animateClose();
                else
                    slidingDrawer.animateOpen();
            }
        });

        slidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() {

            @Override
            public void onDrawerOpened() {
                slideButton.setBackgroundResource(R.drawable.openarrow);

            }
        });

        slidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener() {
            @Override
            public void onDrawerClosed() {
                slideButton.setBackgroundResource(R.drawable.closearrow);
            }
        });

我該如何實現?

我不確定您是如何實現滑動抽屜的,但是您可以執行此操作,類似於通過觸摸外部關閉鍵盤,如下所示:

https://stackoverflow.com/a/11656129/901309

但是,不要關閉鍵盤,而是要關閉滑動抽屜。 您需要將包含滑動抽屜以外的所有內容的View(LinearLayout,RelativeLayout等)傳遞給setupUI()方法。

另外,刪除“ if(!(view instanceof EditText))”檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM