我有一个活动A,会打开DialogFragment
。在此对话框中,按钮将打开活动B.
我希望此活动B在DialogFragment
(仍然打开)下方打开,我不希望重新创建对话框。
我怎样才能做到这一点?有没有办法更改DialogFragment的父Activity
?
干杯。
答案 0 :(得分: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和Second Activity中的常用元素。我相信你也可以尝试这种对话框。我自己也没有为对话框做过。
编辑:更改对话的父级不是可以通过这种方式实现的。当我发布答案时,我没有读过那篇文章。但是,如果您没有义务使用Dialog本身,这仍然值得一试。