Я работаю над фрагментом меню, который покрывает половину экрана при нажатии кнопки.После того, как я не смог выполнить требования меню, используя фрагмент, я решил переключиться на пользовательский диалог.Используя пользовательский диалог, я смог заставить меню работать так, как я хотел, однако я не могу заставить эффекты анимации (которые отлично работали с ранее использованным фрагментом) отображаться, когда пользовательский диалог отображается или закрывается.Приложение работает отлично, но анимация не появляется.В чем здесь проблема?
Это две функции, которые я использую для своего пользовательского диалога:
private void initDialog() {
dialog = new Dialog(this, R.style.DialogCustomTheme);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.dialog_menu);
// positioning
WindowManager.LayoutParams WMLP = dialog.getWindow().getAttributes();
WMLP.x = -300; //x position
WMLP.y = 100; //y position
dialog.getWindow().setAttributes(WMLP);
dialog.getWindow().getAttributes().windowAnimations = R.anim.enter_from_left;
dialog.show();
initDialogViews();
}
private void initDialogViews() {
dialog.findViewById(R.id.menuOption1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Most Popular Items", Toast.LENGTH_LONG).show();
dialog.getWindow().getAttributes().windowAnimations = R.anim.exit_to_left;
dialog.dismiss();
}
});
dialog.findViewById(R.id.menuOption2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Top Rated Items", Toast.LENGTH_LONG).show();
dialog.getWindow().getAttributes().windowAnimations = R.anim.exit_to_left;
dialog.dismiss();
}
});
dialog.findViewById(R.id.menuOption3).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Cheapest Items", Toast.LENGTH_LONG).show();
dialog.getWindow().getAttributes().windowAnimations = R.anim.exit_to_left;
dialog.dismiss();
}
});
dialog.findViewById(R.id.menuOption4).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Free Items", Toast.LENGTH_LONG).show();
dialog.getWindow().getAttributes().windowAnimations = R.anim.exit_to_left;
dialog.dismiss();
}
});
dialog.findViewById(R.id.menuLogIn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Feature still not added!", Toast.LENGTH_LONG).show();
dialog.getWindow().getAttributes().windowAnimations = R.anim.exit_to_left;
dialog.dismiss();
}
});
}
enter_from_left.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="-100%"
android:toXDelta="0%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="2000"
/>
exit_to_left.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="0%"
android:toXDelta="-100%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="2000"
/>