导航:首页 > 操作系统 > android竖屏

android竖屏

发布时间:2022-02-10 11:56:59

1. android如何判断当前是横屏还是竖屏

用这个方法getActivity().getResources().getConfiguration().orientation
1竖屏0横屏

2. android能在横屏状态显示竖屏alertdialog对话框吗

横屏状态下显示的所有东西都是横向的,不能弹出竖屏alertdialog对话框, 为什么会有这样的需求呢? 这个不合理啊, 横屏下肯定是以横向来创建控件的。

3. android如何禁止横竖屏切换

禁用横竖屏切换,有两种方式,第一种是在配置文件中配置,第二种是在java代码中设置。

第一种是在AndroidManifest.xml中,为activity节点配置android:screenOrientation属性,指定该activity为竖屏或横屏,我们将上面的这个activity的配置为竖屏,如下:

<activity
android:name="chengyujia.androidtest.OrientationActivity"
android:screenOrientation="portrait" />
再运行测试,此时无论手机屏幕方向如何,该activity始终是竖屏的。如果android:screenOrientation="landscape" 则始终是横屏。

下面来看第二种,

只要在onCreate方法中加一句

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
即可始终保持竖屏,如果要横屏,代码是

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

4. android如何在代码中判断横竖屏

Android中判断横竖屏是通过Configuration 这个类来判断的。

  1. Configuration.ORIENTATION_LANDSCAPE 表示横屏。

  2. Configuration.ORIENTATION_PORTRAIT表示竖屏。


以下是完整代码:

public boolean isScreenChange() {

Configuration mConfiguration = context.getResources().getConfiguration(); //获取设置的配置信息
int ori = mConfiguration.orientation ; //获取屏幕方向
if(ori == Configuration.ORIENTATION_LANDSCAPE){
//横屏
return true;
}else if(ori == Configuration.ORIENTATION_PORTRAIT){
//竖屏
return false;
}
return false;
}


避免在转屏时重启Activity

android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
要避免在转屏时重启Activity,可以通过在AndroidManifest.xml文件中重新定义方向(给每个Activity加上android:configChanges=”keyboardHidden|orientation”属性)。
在需要控制屏幕显示方向的Activity中重写onConfigurationChanged(Configuration newConfig)方法,这样在转屏时就不会重启Activity了。

5. android怎么设置横竖屏切换

方法一:

1、首先在android手机打开“设置”这个选项的,点击“显示”这个功能;

6. android中如何禁止竖屏,且横屏可以旋转

1、在AndroidManifest.xml里设置

android:screenOrientation="landscape", 强制横屏 ,不旋转

android:screenOrientation="sensorLandscape" 强制横屏,可旋转

常见属性:

"unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.

"landscape":横屏显示(宽比高要长)

"portrait":竖屏显示(高比宽要长)

"user":用户当前首选的方向

"behind":和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)

"sensor":有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。

"nosensor":忽略物理感应器,这样就不会随着用户旋转设备而更改了("unspecified"设置除外)。

2、在activity中设置

@Override
protectedvoidonResume(){
super.onResume();
Log.i(TAG,"onResumecalled.");
try{
//强制横屏,不允许横屏旋转
//ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
//强制横屏,允许横屏旋转
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}catch(NullPointerExceptione){}
}

7. android编译的时候 是如何配置默认显示横竖屏

1,在Mainfest中设置。同意楼上的。
2,在OnStart或者OnCreate中设置也可以。

如果你说设置系统的话,这个就得看系统源码是如何配置的,记得不是太清了,在Configure.java里面吧,有几个函数是根据一些常量设定每个 横纵屏的设置。你应该不是做系统的吧,因为不会有任何一个厂商会让系统所有的内容都定死。

8. android系统强制横竖屏实现

横屏:
按照下面代码示例修改Activity的onResume方法
@Override
protected void onResume() {
/**
* 设置为横屏
*/
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
super.onResume();
}

或者在配置文件中对Activity节点添加android:screenOrientation属性(landscape是横向,portrait是纵向)
android:launchMode="singleTask" android:screenOrientation="portrait">

竖屏:
要设置成竖屏将上面代码中,属性设置成 SCREEN_ORIENTATION_PORTRAIT即可。

9. android 强制设置横屏 判断是横屏还是竖屏

判断activity 是横屏还是竖屏
方法 1: //根据设备配置信息
Configuration cf= this.getResources().getConfiguration(); //获取设置的配置信息
int ori = cf.orientation ; //获取屏幕方向
if(ori == cf.ORIENTATION_LANDSCAPE){
//横屏
}else if(ori == cf.ORIENTATION_PORTRAIT){
//竖屏
}

方法2: 通过设备分辨率还判断

DisplayMetrics dm = new DisplayMetrics();
mLauncher.getWindowManager().getDefaultDisplay().getMetrics(dm);
mWidth = dm.widthPixels;
mHeight = dm.heightPixels;
if (mHeight > mWidth){//layout port
// 竖屏 .......
}else{//layout land
// 横屏 .......
}

设置程序 横屏还是竖屏 有两种方法 1:通过配置实习 2: 代码实现
方法2://重写activity onResume方法
@Override protected void onResume() {
/** * 设置为横屏 */
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :横
//SCREEN_ORIENTATION_PORTRAIT:竖
}
super.onResume();
}
方法2: 配置androidManifest.xml实现
在activity 中加入 android:screenOrientation="landscape" 信息即可 该属性有两个值 portrait//竖 landscape//横

<activity android:name="MainActivity" android:label="@string/app_name" android:screenOrientation="landscape">
</activity>

搞定 快去试试 吧 不过细心的朋友 会发现 咦 当我屏幕的方向 发生变化的时候为啥 activity 的onCreate 怎么会重新加载呢

原因是: 由于屏幕的旋转会造出 当然的activity 元素关闭 从而造出activity重新加载 ,显然这有时候并不是我们要的效果 , 那我们 在看看 如果解决这个问题吧
我们在androidManifest.xml 文件中 activity 节点加入红色的 属性

<activity android:name="MainActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden">
</activity>

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

同时在Activity的Java文件中重载onConfigurationChanged(Configuration newConfig)这个方法,这样就不会在布局切换或窗口切换时重载等方法。代码如下:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
//land
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
//port
}
}

//------------------------------------------------------

关于Android中Activity的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:
android:screenOrientation=["unspecified" | "user" | "behind" |
"landscape" | "portrait" |
"sensor" | "nonsensor"]
screenOrientation 用来指定Activity的在设备上显示的方向,每个值代表如下含义:

"unspecified" 默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
"landscape" 横屏显示(宽比高要长)
"portrait" 竖屏显示(高比宽要长)
"user" 用户当前首选的方向
"behind" 和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
"sensor" 有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
"nosensor" 忽略物理感应器,这样就不会随着用户旋转设备而更改了 ( "unspecified"设置除外 )。

10. 如何才能让Android系统永远是竖屏

不用这么麻烦,在设置里选“声音和显示”,里面有个方向(旋转手机时自动改变方向),把勾去掉就行

阅读全文

与android竖屏相关的资料

热点内容
androidseekbar进度条 浏览:356
梯度上升算法知乎 浏览:650
qt项目源码下载 浏览:395
不允许代理服务器什么意思 浏览:511
盲反卷积算法 浏览:306
峰火战国什么时候能开服务器 浏览:452
加密的pdf怎么提取和修改 浏览:488
压缩空气气体流量计 浏览:845
高角杯如何编程 浏览:1011
哪个app可以下载迷失岛 浏览:29
100以内程序员键盘 浏览:914
调试助手源码是什么 浏览:601
程序员网优 浏览:461
有没有极限压缩方法 浏览:79
岳阳hypermill五轴编程 浏览:385
超级舒服的解压神器 浏览:450
超短macd源码 浏览:167
群晖怎么设置用户访问指定文件夹 浏览:557
安卓怎么测触摸屏 浏览:596
javastring原理 浏览:318