大家好=)我是一个新的Android开发人员,我需要一个关于解雇片段的帮助。
我的应用程序有一个登录片段,当用户触摸它的外部时,我想隐藏登录片段。我该怎么做? OnTouchEvent()方法可能有用吗?
请说些什么。谢谢=)
答案 0 :(得分:1)
将登录布局放置在透明的全屏布局中,并检测较大布局上的触摸事件。
答案 1 :(得分:0)
嗨再次=)我在我的主页活动中使用OnTouchListener解决了这个问题。我的主页布局中有一个网格视图背景,如果用户没有登录,onTouch()
方法运行。当登录片段可见时并且用户在其外部触摸我的hideLoginFragment()方法,要求解除片段..
gridView = (ShelvesView) findViewById(R.id.grid_shelves);
gridView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (application.getDbManager().getUser().key.equals("-1")){
hideLoginFragment();
loginButton.setVisibility(View.VISIBLE);
exitButton.setVisibility(View.INVISIBLE);}
return false;
}
});
答案 2 :(得分:0)
我认为更好的方法是删除片段以释放内存资源。
我的解决方案是在片段中使用此方法:
private void closeFragment() {
getActivity().getSupportFragmentManager().beginTransaction().remove(YOUR_FRAGMENT.this).commit();
}