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

rav*_*avi 7 android

我如何在屏幕方向上停止重新启动或调用create(),我想停止在屏幕方向上重新创建活动.在此先感谢请告诉我任何更好的解决方案,它真正创造一个问题.就像在我的程序中我选择一些图片但在屏幕方向上图像消失,这就是为什么我想停止在屏幕方向上重新开始活动.

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);


    }
Run Code Online (Sandbox Code Playgroud)

小智 27

到属性API 13有一个新值configChanges,screenSize

因此,如果您使用大屏幕,请确保在configChanges属性中添加screenSize:

    android:configChanges="orientation|keyboardHidden|screenSize"
Run Code Online (Sandbox Code Playgroud)

  • +1尼斯答案,应该接受答案. (2认同)
  • 它只有两个参数android:configChanges ="orientation | screenSize" (2认同)

小智 8

发生这种情况是因为当屏幕方向旋转时,Activity会重新启动.在这种情况下,您可以configChanges在AndroidManifest文件中的标记中添加属性,以停止重新创建活动.

<activity android:name=".Activity_name"
          android:configChanges="orientation|keyboardHidden">
Run Code Online (Sandbox Code Playgroud)

通过,这也不会停止,虽然方向改变.

@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);         
        }
    }
Run Code Online (Sandbox Code Playgroud)


Moh*_*rma 5

在您的AndroidManifest.xml文件中,在活动中添加

android:configChanges="keyboardHidden|orientation"
Run Code Online (Sandbox Code Playgroud)

示例如下:

 <activity android:name=".YourActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation">
Run Code Online (Sandbox Code Playgroud)


mse*_*seo 3

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

android:configChanges="keyboardHidden|orientation" 
Run Code Online (Sandbox Code Playgroud)

到你的清单中的活动,所以它看起来像

<activity android:name="com.your.activity"
      android:configChanges="keyboardHidden|orientation"/>
Run Code Online (Sandbox Code Playgroud)