我的应用程序需要在纵向模式下,所以我把它的表现是:设置方向只有1片段在我的活动,而其余的是在纵向
android:screenOrientation="portrait"
但我刚刚加入另一个片段(FragA),它的外观和功能在横向上都能提高10倍。有什么我可以放在我的FragA里面,只是在横向上制作片段,同时保留纵向应用的其余部分,或者通过这样做,我不得不添加一些东西到我的其他片段,以保留它们作为肖像?
我的应用程序需要在纵向模式下,所以我把它的表现是:设置方向只有1片段在我的活动,而其余的是在纵向
android:screenOrientation="portrait"
但我刚刚加入另一个片段(FragA),它的外观和功能在横向上都能提高10倍。有什么我可以放在我的FragA里面,只是在横向上制作片段,同时保留纵向应用的其余部分,或者通过这样做,我不得不添加一些东西到我的其他片段,以保留它们作为肖像?
方向属性是针对每个活动的,因此您可以仅为包含片段的活动声明方向,以使其处于横向状态,其余活动将保持原样。
在您想要特定(在此情况下是纵向)方向的片段中使用以下代码行。
getActivity().setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
如果您希望在片段中有一个方向,即基于用户握住他的设备的方式,请使用以下代码行。
getActivity().setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
希望,这会给你预期的解决方案。
在每个片段中,设置请求的方向。
参考文档:http://developer.android.com/reference/android/content/pm/ActivityInfo.html
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Fragment locked in portrait screen orientation
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// Fragment locked in landscape screen orientation
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// Fragment screen orientation normal both portait and landscape
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
所以基本上我最好的选择是只创建另一个活动,然后在我的清单只是把那为:机器人:screenOrientation =“风景”? –
是的,这将确保您的功能永远不会失败。 –
@DineshVenkata但我不想旋转片段而不是活动做什么 – PriyankaChauhan