0

制約レイアウトを別の制約レイアウトの上に追加しました。その中にボタンをクリックすると制約レイアウトを作成してボタンが消えます。 これはコード回転後にビューが表示されないようにする

です
Button button11 = (Button) findViewById(R.id.button11); 
     final ConstraintLayout constraintLayout = (ConstraintLayout) findViewById(R.id.constraint_layout_inside); 
     button11.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       constraintLayout.setVisibility(View.INVISIBLE); 
} 

私は画面を回転させると制約のレイアウトが再び表示されます これを防ぐ方法はありますか?

+0

参照[構成の変更の取り扱い](https://developer.android.com/guide/topics/resources /runtime-changes.html) – santalu

答えて

-1

は、あなたの活動に活動が姿勢変更後に破壊して作成されているので、それは自動的に処理することはできませんあなたのマニフェスト

android:configChanges="orientation|keyboardHidden|screenSize" 
+0

申し訳ありませんが動作しません – khaleader

1

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     setContentView(R.layout.lanscape_activity); 
     // your own layout 

    } else { 
     setContentView(R.layout.portrait_activity); 
     // your own layout 
    } 
} 

そして、この行を、このメソッドを追加します。したがって、あなたはそれを自分で処理しなければなりません。

onSaveInstanceState()で現在の状態を保存:

 

    override fun onSaveInstanceState(outState: Bundle?) { 
     super.onSaveInstanceState(outState) 
     outState.putBoolean("someKey", constraintLayout.visibility == View.VISIBLE)   
    } 
 

その後、onCreate()に:

 

    override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 
     setContentView(R.layout.activity_main) 

     // Initialize views 
     ... 

     // if `savedInstanceState` is not null, then look for `someKey` in bundle 
     savedInstanceState?.run { 
      val isVisible = getBoolean("someKey") 
      constraintLayout.visibility = if (isVisible) View.VISIBLE else View.INVISIBLE 
     } 

     if (null == savedInstanceState) { 
      // This activity is starting for the first time, 
      // not an orientation change case 
     } 
    } 
 
関連する問題