仅在按住按钮时显示对话框片段
问题描述:
我想在片段中显示对话框片段,但仅在按住按钮时才显示,以便在用户释放触摸时变暗。但是,当我显示dialogfragment时,它会从按钮中移除焦点,并且在发布时不会被解除。反正这是我到目前为止已经试过:仅在按住按钮时显示对话框片段
c1b1= (Button) v.findViewById(R.id.card_b1);
c1b1.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event)
{
Rdialog_Fragment dialogFragment = new Rdialog_Fragment();
FragmentManager fm = r2_fragment.getFragmentManager();
if(event.getAction() == MotionEvent.ACTION_DOWN){
// Rdialog_Fragment dialogFragment = new Rdialog_Fragment();
dialogFragment.show(fm, "Sample Fragment");
}
if(event.getAction() == MotionEvent.ACTION_UP){
dialogFragment.dismiss();
}
return false;
}
答
显示像这样的用户界面的标准方法所需要的指令可以通过PopupWindow.可以实现但是我不知道焦点,因为这也可能会释放来自当前焦点视图。去尝试一下。
在创建时通过在片段布局顶部添加视图,或者通过在片段xml中添加视图,但最初将可见性属性设置为INVISIBLE,可以做更多的事情。一旦检测到按下事件集合,它就是VISIBLE的可见性属性,并且一旦检测到释放事件,请再次将此视图设置为INVISIBLE。这样焦点可能不会从当前视图自动清除。
+0
Popupwindow工作。 如果任何人有相同的问题使用poupwindow并将焦点设置为false,可悲的是你不能用dialogfragments – kluki
一旦你在Fragment/Activity之上打开Fragment/DialogFragment,它会自动将焦点从当前打开的Fragment/Activity移动到新打开的Fragment/DialogFragment。 – EEJ
有没有办法预防这种情况? – kluki
这取决于你想要达到的目标。你可以添加一些图形/屏幕截图,说明你想要什么? – EEJ