4

我创建了一个自定义选项卡活动,它有两个不同的可绘制对象,用于纵向和横向。纵向屏幕的图标在 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

在应用程序 manifest.xml 的活动标签中添加这样的内容

<activity android:label="@string/app_name" android:configChanges="keyboardHidden|orientation|screenSize" android:name=".your.package"/>
于 2013-06-19T09:13:42.590 回答
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 回答