如何停止屏幕方向上的活动娱乐?

如何我可以停止重新启动或在屏幕方向上创build()调用,我想停止在屏幕方向的活动的娱乐。 提前感谢请告诉我任何更好的解决scheme,它真的造成了一个问题。 就像在我的程序中,我select了一些图片,但在屏幕上的方向图像消失,所以这就是为什么我想停止在屏幕上的活动的娱乐方向。

enter code here public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mainwindow); Toast.makeText(getApplicationContext(),"a", 1).show(); bitmap = (Bitmap)getLastNonConfigurationInstance(); //Toast.makeText(getApplicationContext(),"a1", 1).show(); if (savedInstanceState != null) { bitmap=BitmapFactory.decodeFile(mImageCaptureUri.getPath()); Toast.makeText(getApplicationContext(),"preview have value", 1).show(); preview.setVisibility(View.VISIBLE); From_Folder.setVisibility(View.GONE); From_Camera.setVisibility(View.GONE); preview.setImageBitmap(bitmap); } 

Solutions Collecting From Web of "如何停止屏幕方向上的活动娱乐?"

直到API 13configChanges属性screenSize都有了新的值

所以,如果你使用大屏幕,请确保在你的configChanges属性中添加screenSize:

  android:configChanges="orientation|keyboardHidden|screenSize" 

这是因为当屏幕方向旋转时,Activity被重新启动。 在这种情况下,您可以在AndroidManifest文件的标签中添加configChanges属性来停止Activity的重新创build。

 <activity android:name=".Activity_name" android:configChanges="orientation|keyboardHidden"> 

通过,这也不会停止,但方向改变。

 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){ setContentView(R.layout.login_landscape); } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { setContentView(R.layout.login); } } 

不是最好的,但也许最简单的解决scheme是添加

 android:configChanges="keyboardHidden|orientation" 

在你的清单中的活跃,所以它看起来像

 <activity android:name="com.your.activity" android:configChanges="keyboardHidden|orientation"/> 

在你的AndroidManifest.xml文件的activity add中

 android:configChanges="keyboardHidden|orientation" 

示例如下:

  <activity android:name=".YourActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"> 

两种方式:

您可以在Manifest文件中设置android:configChanges =“keyboardHidden | orientation”以避免重新创build活动。

或者进行更改,以改变覆盖方法内的方向

@覆盖

 public void onConfigurationChanged(Configuration newConfig) { // Perform the actions super.onConfigurationChanged(newConfig); } 

有一个更完整的参数列表来防止活动重现(在Manifest.xml中):

 <activity android:name = ".MyActivity" android:configChanges = "orientation|keyboard|keyboardHidden|screenLayout|screenSize"> </activity> 

 android:orientation="vertical" 

要么

 android:orientation="horizontal" 

mainwindow.xml的布局。

例:::

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> 

无需在Activity类中添加任何内容。

希望这可以帮助你