屏幕方向改变时,不得忽略对话框

时间:2011-05-06 08:09:22

标签: android dialog orientation android-configchanges

我创建了一个自定义标签活动,其中包含两个不同的纵向和横向绘图。纵向屏幕的图标在drawable-hdpi下,而景观图像在drawable-land-hdpi下。截至目前,我在清单中放置了配置更改以保持对话框的可见性。

android:configChanges="orientation"

每当显示对话框并且用户将方向从纵向更改为横向时,对话框仍会显示,但它在标签活动中使用的图像是纵向模式。这就是为什么布局看起来不正确,因为它没有使用drawables作为景观。有人可以帮我吗?感谢。

3 个答案:

答案 0 :(得分:3)

如果您使用android:configChanges="orientation",则在更改方向时,Android不会重新创建活动。如果您不希望解除对话框,请使用Activity.showDialog()方法。如果您仍想使用android:configChanges="orientation",则必须在Activity.onConfigurationChanged()方法中手动更改drawable。

答案 1 :(得分:0)

在应用程序manifest.xml中的activity标记中添加如下内容

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

答案 2 :(得分: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");
}
相关问题