2013-01-06 67 views

回答

0

您需要扩展SlidingDrawer并禁用相关的事件处理程序,例如

public class ClickOnlySlidingDrawer extends MySlidingDrawer { 

    ... 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent event) { 
     return false; 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     return false; 
    } 
} 
+0

这是什么和做什么样'drawer.setOnTouchListener(新OnTouchListener(){ \t公共布尔的区别onInterceptTouchEvent(MotionEvent事件){ \t返回FALSE; \t} \t公共布尔的onTouchEvent(MotionEvent事件) { \t return false; \t}' – user1923613

+0

试过你的解决方案,它帮助,顺便说一句。谢谢!我以前的问题仅供我学习。 – user1923613

+0

onInterceptTouchEvent的行为在android sdk文档中有很好的记录。你需要阅读它,很难用简单的评论来描述它。 –

0

您还可以锁定组件,并使用.toggle,而不是像这里

mySlidingDrawer.lock(); // .unlock() 
handle.setOnClickListener(new OnClickListener(){ 

@Override 
public void onClick(View v) { 
    mySlidingDrawer.toggle(); 

    } 

});