#android #android-dialogfragment
#Android #android-dialogfragment
Вопрос:
У меня есть действие A, которое открывает a DialogFragment
. В этом диалоговом окне кнопка открывает действие B. Я бы хотел, чтобы это действие B открывалось ниже DialogFragment
(которое остается открытым), и я не хочу, чтобы диалог создавался заново.
Как я могу этого добиться? Есть ли способ изменить родительский Activity
элемент DialogFragment?
Приветствия.
Ответ №1:
Для этого можно использовать переход.
public void Trans(View v){
Intent intent = new Intent(this,SecondActivity.class);
String transitionName = getString(R.string.transition_album_cover);
ActivityOptionsCompat options =
ActivityOptionsCompat.makeSceneTransitionAnimation(HomeActivity.this,
albumCoverImageView, // The view which starts the transition
transitionName // The transitionName of the view we’re transitioning to
);
ActivityCompat.startActivity(HomeActivity.this, intent, options.toBundle());
}
В макете HomeActivity:
<ImageView
android:layout_height="200dp"
android:layout_width="200dp"
android:src="@drawable/pic"
android:id="@ id/transPic"
android:onClick="Trans"
android:transitionName="@string/transition_album_cover" />
И в макете SecondActivity
<ImageView
android:layout_height="300dp"
android:layout_width="match_parent"
android:scaleType="centerCrop"
android:id="@ id/transPic"
android:src="@drawable/pic"
android:transitionName="@string/transition_album_cover" />
Здесь я использовал ImageView как общий элемент как в HomeActivity, так и во втором действии. Я полагаю, вы можете попробовать что-то подобное и для диалогового окна. Однако я сам не делал этого для диалогового окна.
РЕДАКТИРОВАТЬ: изменение родительского элемента диалога не является чем-то достижимым таким образом. Я не читал эту часть, когда отправлял ответ. Но, я думаю, это все же стоит попробовать, если вы не обязаны использовать сам диалог.