android开发横竖屏问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发横竖屏问题相关的知识,希望对你有一定的参考价值。

android开发时,我想人让它横屏时显示为横屏效果,怎么设置代码

Android横屏竖屏设置

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置成全屏模式

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//强制为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
我做的东西里面还用到了去掉标题栏。
我也贴出来
requestWindowFeature(Window.FEATURE_NO_TITLE);

垂直居中:

android:layout_centerVertical="true"

水平居中:

android:layout_centerHorizontal="true"

1.hideStatusbarAndTitlebar()隐藏statusbar和titlebar.

private void hideStatusbarAndTitlebar()
final Window win = getWindow();
// No Statusbar
win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// No Titlebar
requestWindowFeature(Window.FEATURE_NO_TITLE);

2.设置屏幕显示模式ScreenOrientation.

在activity里设置android:screenOrientation的值。
android:screenOrientation的属性有以下值:
unspecified(默 认值,由系统判断状态自动切换),The default value. The system chooses the orientation. The policy it uses, and therefore the choices made in specific contexts, may differ from device to device.
landscape,横屏
portrait,竖屏
user(用户当前设置的orientation值),The user's current preferred orientation.
behind(下一个要显示的Activity的orientation值),The same orientation as the activity that's immediately beneath it in the activity stack.
sensor(传 感器的方向),The orientation determined by a physical orientation sensor. The orientation of the display depends on how the user is holding the device; it changes when the user rotates the device.
nosensor(不 使用传感器,这个效果差不多等于unspecified).An orientation determined without reference to a physical orientation sensor. The sensor is ignored, so the display will not rotate based on how the user moves the device. Except for this distinction, the system chooses the orientation using the same policy as for the "unspecified" setting.

3.水平/垂直居中的方法.

设置parent的android:gravity为"center"。

4.获得当前屏幕宽高的方法.

Display display = getWindowManager().getDefaultDisplay();
Config.screenWidth = display.getWidth();
Config.screenHeight = display.getHeight();
参考技术A 在eclipse 里面run dialog->target 里面可以设置成自动横屏追问

怎么设置,里面是英文,能麻烦详细点啊

参考技术B 模拟器里面的自动横屏打钩试试追问

在哪里设置?

追答

。。。安卓手机都有的。。。如果找不到可以先把语言设置成中文,然后进设置------》显示,就可以找到了

Android横竖屏切换View设置不同尺寸或等比例缩放的XML解决方案

在一些应用中,涉及到横竖屏切换,View要切换成不同大小比例尺寸。为解决这种开发场景,有多种解决方案,比如可以重写View,实现横竖切换在onMesure或者此类View的回调方法里面重新测量重新绘制View的尺寸大小。还有可以在onConfigurationChanged里面根据当前的横竖屏切换情况重写设置View的长宽比例等等。
现在给出一种比较简单且较为灵活的处理方法:通过写两套xml布局,实现在不同横竖屏切换状态下的不同大小比例尺寸。这种方案的关键做法是在res里面放置两个layout,分别叫做layout-land和layout-port。layout-land横屏时候将被加载,layout-port竖屏时候加载。只需要写两个同名的布局文件,但是要分别放在res/layout-land和layout-port文件目录下。这样在横竖屏切换时候Android系统就会自动根据当前横竖屏情况加载相应的布局。
给出一个例子,本例只有一个activity_main.xml,需要在不同横竖屏切换时候加载不同相应的布局。那么就分别写两个不同activity_main.xml但是同名的布局文件。
res/layout-land/activity_main.xml:

[html] view plain copy
 http://www.woaipu.com/shops/zuzhuan/61406
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent">  
  5.   
  6.     <TextView  
  7.         android:layout_width="200dp"  
  8.         android:layout_height="150dp"  
  9.         android:layout_centerInParent="true"  
  10.         android:background="@android:color/holo_red_light"  
  11.         android:gravity="center"  
  12.         android:text="横屏" />  
  13.   
  14. </RelativeLayout>  



res/layout-port/activity_main.xml:

[html] view plain copy
 http://www.woaipu.com/shops/zuzhuan/61406
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent">  
  5.   
  6.     <TextView  
  7.         android:layout_width="133dp"  
  8.         android:layout_height="100dp"  
  9.         android:layout_centerInParent="true"  
  10.         android:background="@android:color/holo_red_light"  
  11.         android:gravity="center"  
  12.         android:text="竖屏" />  
  13.   
  14. </RelativeLayout>  

 

代码文件结构:

技术分享

 http://www.woaipu.com/shops/zuzhuan/61406

代码在横竖屏切换时候的运行结果:
横屏:

http://www.woaipu.com/shops/zuzhuan/61406









以上是关于android开发横竖屏问题的主要内容,如果未能解决你的问题,请参考以下文章

Android 横竖屏切换

软件的横竖屏切换

android自定义控件 切换横竖屏报错

Android视频播放和横竖屏切换

Android横竖屏切换View设置不同尺寸或等比例缩放的XML解决方案

Android 横竖屏切换