我创建了一个自定义标签活动,其中包含两个不同的纵向和横向绘图。纵向屏幕的图标在drawable-hdpi下,而景观图像在drawable-land-hdpi下。截至目前,我在清单中放置了配置更改以保持对话框的可见性。
android:configChanges="orientation"
每当显示对话框并且用户将方向从纵向更改为横向时,对话框仍会显示,但它在标签活动中使用的图像是纵向模式。这就是为什么布局看起来不正确,因为它没有使用drawables作为景观。有人可以帮我吗?感谢。
答案 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");
}