簡體   English   中英

屏幕方向改變時,不得忽略對話框

[英]Dialog must not be dismiss when screen orientation change

我創建了一個自定義標簽活動,它有兩個不同的縱向和橫向繪圖。 縱向屏幕的圖標在drawable-hdpi下,而景觀圖像在drawable-land-hdpi下。 截至目前,我在清單中放置了配置更改以保持對話框的可見性。

android:configChanges="orientation"

每當顯示對話框並且用戶將方向從縱向更改為橫向時,對話框仍會顯示,但它在選項卡活動中使用的圖像是用於縱向模式。 這就是為什么布局看起來不正確,因為它沒有使用drawables作為景觀。 有人可以幫我嗎? 謝謝。

如果您使用android:configChanges="orientation"那么當方向更改時,Android不會重新創建活動。 如果您不希望解除對話框,請使用Activity.showDialog()方法。 如果您仍想使用android:configChanges="orientation"則必須在Activity.onConfigurationChanged()方法中手動更改drawable。

在應用程序manifest.xml中的activity標記中添加如下內容

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

您可以通過檢測方向模式來執行自定義布局實現,如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM