这里总结下android中关于手机屏幕的相关操作:
1、获取屏幕的分辨率(因为android中处理显示的时候,需要根据屏幕分辨率的不同才去不同的布局或显示不同的素材)

Java代码
  1. //通过WindowManager获取
  2. DisplayMetricsdm=newDisplayMetrics();
  3. getWindowManager().getDefaultDisplay().getMetrics(dm);
  4. System.out.println("heigth:"+dm.heightPixels);
  5. System.out.println("width:"+dm.widthPixels);
  6. //通过Resources获取
  7. DisplayMetricsdm2=getResources().getDisplayMetrics();
  8. System.out.println("heigth2:"+dm2.heightPixels);
  9. System.out.println("width2:"+dm2.widthPixels);
  10. //获取屏幕的默认分辨率
  11. Displaydisplay=getWindowManager().getDefaultDisplay();
  12. System.out.println("width-display:"+display.getWidth());
  13. System.out.println("heigth-display:"+display.getHeight());
// 通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);System.out.println("heigth : " + dm.heightPixels);System.out.println("width : " + dm.widthPixels);// 通过Resources获取 DisplayMetrics dm2 = getResources().getDisplayMetrics();System.out.println("heigth2 : " + dm2.heightPixels);System.out.println("width2 : " + dm2.widthPixels); // 获取屏幕的默认分辨率Display display = getWindowManager().getDefaultDisplay();System.out.println("width-display :" + display.getWidth());System.out.println("heigth-display :" + display.getHeight());
2、去掉屏幕标题及全屏显示
Java代码
  1. //去掉标题
  2. requestWindowFeature(Window.FEATURE_NO_TITLE);
  3. //设置全屏
  4. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  5. WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 去掉标题requestWindowFeature(Window.FEATURE_NO_TITLE);// 设置全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
3、设置屏幕的风向
在Manifest.xml文件中配置Activity的属性
Xml代码
  1. <activityandroid:name=".AnimateActivity"android:label="@string/app_name"
  2. android:screenOrientation="landscape"><!--landscape横屏portrait竖屏-->
  3. <intent-filter>
  4. <actionandroid:name="android.intent.action.MAIN"/>
  5. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  6. </intent-filter>
  7. </activity>
<activity android:name=".AnimateActivity" android:label="@string/app_name"android:screenOrientation="landscape"><!--landscape 横屏 portrait 竖屏--> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>
在程序中控制,一般在Activity中的onCreate、onDestroy方法中控制,因为在屏幕方向发生变化时,
系统会重新启动Activity。所以需要再Activity销毁前保存相关数据,方便在下次onCreate方法中
重新加载,并更新屏幕的布局
Java代码
  1. publicvoidonCreate(BundlesavedInstanceState){
  2. //强制横屏
  3. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  4. //TODO更新屏幕布局
  5. }
  6. publicvoidonDestroy(){
  7. if(getRequestedOrientation()==
  8. ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
  9. //保存数据
  10. }elseif(getRequestedOrientation()==
  11. ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
  12. //保存数据
  13. }
  14. }

更多相关文章

  1. 控件布局
  2. Android常用的两种基本布局——线性布局LinearLayout和相对布局R
  3. Flutter UI基础 - 布局之Row/Column/Stack
  4. [Android]带你了解 Android 约束布局 ConstraintLayout
  5. Android——六大基本布局总结
  6. Android杂谈---获取手机屏幕大小

随机推荐

  1. Android Auto-IP support
  2. Android自动化测试,5个必备的测试框架
  3. Android 双向拖动控件(类似 SeekBar)
  4. android gps wifi 基站 定位集合
  5. 编码工具类EncodingUtils(解决乱码问题)
  6. Android 超好正则表达式工具类RegexUtil
  7. Android SharePreference 使用 储存
  8. Android(安卓)GSM驱动模块(rild)详细分析(一
  9. Android 圆角边框RoundRect原理
  10. Android MainActivity如何加载BaseActivi