4

縦向きと横向きの 2 つの異なるドローアブルを持つカスタム タブ アクティビティを作成しました。縦画面のアイコンは drawable-hdpi の下にあり、横長の画像は drawable-land-hdpi の下にあります。今のところ、ダイアログの可視性を維持するために、構成の変更をマニフェストに入れています。

android:configChanges="orientation"

ダイアログが表示され、ユーザーが向きを縦から横に変更すると、ダイアログは引き続き表示されますが、タブ アクティビティで使用される画像は縦モード用です。ランドスケープ用のドローアブルを使用していないため、 のレイアウトが正しく見えないのはそのためです。誰かがこれで私を助けてくれますか? ありがとう。

4

3 に答える 3

3

使用するandroid:configChanges="orientation"と、Android は向きが変更されたときにアクティビティを再作成しません。ダイアログを閉じたくない場合は、Activity.showDialog()メソッドを使用してください。それでも使用したい場合android:configChanges="orientation"は、メソッドでドローアブルを手動で変更する必要がありますActivity.onConfigurationChanged()

于 2011-05-06T08:32:51.923 に答える
0

以下のように方向モードを検出することで、カスタム レイアウトの実装を実行できます。

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

    if(config.orientation == Configuration.ORIENTATION_LANDSCAPE)
        Log.i("orientation", "Orientation changed to: Landscape");
    else
        Log.i("orientation", "Orientation changed to: Portrait");
}
于 2014-05-10T07:17:22.177 に答える
0

アプリケーション manifest.xml のアクティビティ タグに次のように追加します。

<activity android:label="@string/app_name" android:configChanges="keyboardHidden|orientation|screenSize" android:name=".your.package"/>
于 2013-06-19T09:13:42.590 に答える