0

私はAndroidのオリエンテーションが初めてです。portraitこれまでモードのみで作業してきましたが、現在は両方の方向で作業しています。オリエンテーションのためにマニフェストファイルでこのメソッドを使用しています:---

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

問題は :-

これには2つのレイアウトフォルダーがあります.1つはlayout&もう1つはlayout-land両方の向き用です。今、私は自分のアプリを実行すると、 両方の向きでレイアウトxmlファイルが必要になる場合があり、レイアウトxmlファイルとレイアウトランドxmlファイルが両方とも機能する場合もあります。

この問題を解決するにはどうすればよいですか?

& このコードを使用する場合:--

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

その後、方向の問題は解決されますが、Activity は再度作成されないため、私のコードは 1 回しか機能しません。マイボタンが機能しません。2. 2 番目の質問は、For Both XML File How to manage Code in Config Method です。 Orientation の完全な概念を知りたいです。回答は高く評価されます。

よろしくお願いいたします。 Deepanker Chaudhary

4

2 に答える 2

0

以下の点を確認してください:

android:configChanges アクティビティがそれ自体で処理する構成変更を一覧表示します。実行時に構成の変更が発生すると、アクティビティはデフォルトでシャットダウンされて再開されますが、この属性を使用して構成を宣言すると、アクティビティが再開されなくなります。代わりに、アクティビティは実行されたままになり、その onConfigurationChanged() メソッドが呼び出されます。

于 2012-12-27T07:00:42.823 に答える
0

layout は、縦向きの場合は layout-land と同じです。layout-port フォルダーです。向きの変更のためにレイアウト ファイルを処理する必要はありません。向き変更時のデータを保存し、表示時に復元するだけです。両方の方向に同じファイル名を使用できます。オリエンテーションの処理については、ここからヘルプを得ることができます。チェックこれも。

于 2012-12-27T07:01:32.687 に答える