![](/img/trans.png)
[英]Close SlidingDrawer when user engages outside of SlidingDrawer
[英]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.