如果Orientation将以编程方式在LandScape中更改,则OverridePendingTransition不起作用

时间:2019-11-21 17:52:34

标签: java xamarin orientation

我正在使用两个活动,在第一个活动中,我使用下面的代码启动第二个活动

 Intent i = new Intent(getBaseContext(), ViewPerson.class);                      
  startActivity(i);
 overridePendingTransition(Resource.Layout.trans_right_in, Resource.Layout.trans_right_out);
 Finish();

然后在第二个活动onCreate方法中,我正在使用以下代码更改活动方向

public void onCreate(Bundle savedInstanceState)
{
    if(Parameters.Landscape) //Parameters is a static class
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    else
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    super.onCreate(savedInstanceState);

    setContentView(R.layout.filters);
 }

问题在于,在这种情况下,我的动画无法正常工作。仅在肖像模式下有效。

1 个答案:

答案 0 :(得分:0)

我使用以下代码更改方向,但没有问题。

private void Btn2_Click(object sender, System.EventArgs e)
    {
        RequestedOrientation = ScreenOrientation.Landscape;
    }

    private void Btn1_Click(object sender, System.EventArgs e)
    {
        RequestedOrientation = ScreenOrientation.Portrait;

    }