tho*_*aus 285 android landscape portrait screen orientation
我正在尝试为我的应用程序强制"纵向"模式,因为我的应用程序绝对不是为"横向"模式设计的.
在阅读了一些论坛后,我在清单文件中添加了这些行:
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)
但它不适用于我的设备(HTC Desire).它从"纵向"lo"横向"切换,忽略清单文件中的行.
在更多论坛阅读之后,我尝试在我的清单文件中添加它:
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:configChanges="orientation"
android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)
这个函数在我的activity类中:
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Run Code Online (Sandbox Code Playgroud)
但同样,没有运气.
C0d*_*ack 515
不要将方向应用于应用程序元素,而应将属性应用于activity元素,并且还必须configChanges如下所述进行设置.
例:
<activity
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
</activity>
Run Code Online (Sandbox Code Playgroud)
这将应用于清单文件中AndroidManifest.xml.
NUL*_*ter 22
注意
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"
Run Code Online (Sandbox Code Playgroud)
在清单文件中添加 - 定义活动的位置.
Pin*_*nki 12
我认为android:screenOrientation="portrait"可以用于个人活动.所以在<activity>标签中使用该属性,如:
<activity android:name=".<Activity Name>"
android:label="@string/app_name"
android:screenOrientation="portrait">
...
</activity>
Run Code Online (Sandbox Code Playgroud)
Mun*_*f M 10
如果您在我的应用程序中有很多活动,或者如果您不想为清单中的每个活动标记输入代码,则可以执行此操作.
在Application Base类中,您将获得生命周期回调
所以基本上当在应用程序类中创建on create时,每个活动发生的事情都是代码..
public class MyApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
activity.setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// for each activity this function is called and so it is set to portrait mode
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助.
设置强制纵向或横向模式,分别添加线条.
在线下导入:
import android.content.pm.ActivityInfo;
Run Code Online (Sandbox Code Playgroud)
在上面添加下面的行 setContentView(R.layout.activity_main);
对于肖像:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//Set Portrait
Run Code Online (Sandbox Code Playgroud)
对于景观:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//Set Landscape
Run Code Online (Sandbox Code Playgroud)
这肯定会奏效.
| 归档时间: |
|
| 查看次数: |
224071 次 |
| 最近记录: |