我正在构建一个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的宽度/高度?
非常感谢,
贝
答案 0 :(得分:0)
您是否尝试在AndroidManifest.xml中设置android:screenOrientation =“portrait”上的相关活动?