使用setRotation后设置宽度/高度

时间:2013-04-15 15:12:56

标签: android resize relativelayout dimensions

我正在构建一个Android应用程序,该应用程序将用于由Android驱动的Mini PC / Cyclone设备,我的一个要求是强制应用程序切换到纵向。我的第一个想法是以编程方式设置方向:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

适用于平板电脑/手机但不适用于Mini / Cyclone PC - 方向仍然是风景。我的下一个想法是使用RelativeLayout(它是我的根容器)的setRotation()方法将其旋转90度 - 这很好但宽度/高度不适应屏幕的大小。我最终得到的是RelativeLayout旋转90度,但宽度和高度仍然是横向。我尝试通过设置它的LayoutParams来手动设置RelativeLayout控件的宽度/高度,虽然它整理了宽度,但高度不正确,因为它只占用了屏幕的一半。这就是我目前正在做的事情:

m_container.setRotation(-90);

RelativeLayout.LayoutParams portraitParams = new RelativeLayout.LayoutParams(Util.getDisplayHeight(MainActivity.this), Util.getDisplayWidth(MainActivity.this));

m_container.setLayoutParams(portraitParams);

getDisplayHeight / Width方法正确返回屏幕的宽度/高度。

任何人都可以指出我做错了什么/有任何建议如何正确设置我的RelativeLayout m_container的宽度/高度?

非常感谢,

1 个答案:

答案 0 :(得分:0)

您是否尝试在AndroidManifest.xml中设置android:screenOrientation =“portrait”上的相关活动?