我正在嘗試爲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