Java 安卓:Don';t旋转活动屏幕(无清单)
我知道如果我不想改变屏幕的旋转,我必须使用android:screenOrientation=“纵向/横向”,但我会在清单中这样做。我想在java类中做同样的事情。我该怎么做 这是我的密码Java 安卓:Don';t旋转活动屏幕(无清单),java,android,android-studio,screen,Java,Android,Android Studio,Screen,我知道如果我不想改变屏幕的旋转,我必须使用android:screenOrientation=“纵向/横向”,但我会在清单中这样做。我想在java类中做同样的事情。我该怎么做 这是我的密码 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { switch (getArg
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
switch (getArguments().getInt(ARG_SECTION_NUMBER))
{
case 1:
View rootView = inflater.inflate(R.layout.fragment_cubo, container, false);
return rootView;
case 2:
View rootView2 = inflater.inflate(R.layout.fragment_cubo2, container, false);
return rootView2;
case 3:
View rootView3 = inflater.inflate(R.layout.fragment_cubo3, container, false);
return rootView3;
case 4:
View rootView4 = inflater.inflate(R.layout.fragment_cubo4, container, false);
return rootView4;
default:
View rootView0 = inflater.inflate(R.layout.fragment_cubo, container, false);
return rootView0;
}
}
我只想在案例2和案例3中更改屏幕的位置,但是我想不起方法setRequestedOrientation(ActivityInfo.screen\u ORIENTATION\u PORT雷特)代码>
因为无法从静态上下文引用它(方法onCreateView位于静态类中)
我怎样才能做到这一点?类似这样的事情:
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
关于这个主题的博文很好::-)
你不应该真正地更新问题,而应该提出新的问题
您需要重写具有活动参数的回调方法,或将该参数另存为字段。因此,您可能必须运行switch语句两次
@Override
public void onAttach(Activity activity) {
// your switch statement
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
您可以在此处阅读更多信息:您可以通过下面的函数完成此操作
public void changeOrientation() {
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
}
尝试类似setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u PORTRAIT)的方法@NongthonbamTonthoi更新我的问题我什么时候必须调用CreateView的方法?我正在使用选项卡式活动。我必须通过哪些参数?不,我必须通过什么LayoutFlater?哦,对不起,你的意思是onCreateView
是片段的重写方法。更新了我的答案当我想起超类super.onAttach(Context Context)
的方法时,我必须传递什么上下文?传递activity
该方法旋转所有片段,而不仅仅是第二个和第三个。是的,您的“getActivity()”对我帮助很大