我正在尝试为DialogFragment设置进入和退出转换,这似乎足够直接。下面是从我的DrinkDetailActivity创建对话框代码:设置Android片段进入和退出转换?
fab.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//create and display the dialog
DialogFragment orderFragment = new OrderDrinkDialogFragment();
//set the slide transition for the fragment
Transition dialSlide = new Slide();
dialSlide.setDuration(300);
orderFragment.setEnterTransition(dialSlide);
orderFragment.setExitTransition(dialSlide);
orderFragment.show(getFragmentManager(), "order");
}
});
这里是从我的OrderDrinkDialogFragment类代码:
public class OrderDrinkDialogFragment extends DialogFragment
{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
AlertDialog.Builder builder = new AlertDialog.Builder(DrinkDetailActivity.activity);
//set up the Linear Layout of the dialog
LinearLayout layout = new LinearLayout(DrinkDetailActivity.activity);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(params);
//set up the EditText view
EditText nameField = new EditText(DrinkDetailActivity.activity);
nameField.setHint(R.string.dialog_name_hint);
//add the EditText view to the layout
layout.addView(nameField, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
//set layout as the view of the dialog
builder.setView(layout);
return builder.create();
}
}
DrinkDetailActivity.activity
简直是this
从DrinkDetailActivity
的实例中。出于某种原因,对话不会在我或它被解散时转换,它只是弹出和放开。 This教程帮助我了解了我的应用程序的其余部分的Activity转换,并且我按照它的说法遵循了片段转换的相同说明。我究竟做错了什么?
如果我这样做,我得到这个错误:'java.lang.NullPointerException:尝试调用虚拟方法'android.view.Window android。在一个空对象引用上的app.Dialog.getWindow(),它使se因为在创建对话框之前我将如何获得对话框的窗口? – mithunm93 2015-02-11 09:38:01
查看已编辑的答案 – goonerDroid 2015-02-11 10:03:10
This Works!有一些变化:1)在向上滑动动画中,将“toXDelta”更改为“toYDelta”,2)在向上滑动动画中,将“100%”和“0”分别更改为“100%p”和“0%p” ,3)我只是做了一个'对话框对话框= builder.create();'而不是调用super。非常感谢你的帮助!不知道我是否应该在这里提出这个问题,但是我该如何让对话框从底部导航栏下滑出? – mithunm93 2015-02-11 10:45:43