我有一个类扩展碎片。我有一个滑动抽屉,我想做的是,如果滑动抽屉是打开的,那么当用户触摸滑动抽屉外时,它应该自动关闭。手动打开和关闭的代码如下:
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但不是关闭键盘,而是关闭滑动抽屉。你需要向setupUI()方法传递视图(LinearLayout, RelativeLayout等),它包含除了滑动抽屉之外的所有内容。
同时,删除"if(!(view instanceof EditText))" check.