这里总结下android中关于手机屏幕的相关操作:

1、获取屏幕的分辨率(因为android中处理显示的时候,需要根据屏幕分辨率的不同才去不同的布局或显示不同的素材)

<uses-sdk android:minSdkVersion="8" /> 添加与不添加有很大的区别

// 通过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、去掉屏幕标题及全屏显示

// 去掉标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 设置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

3、设置屏幕的风向 
在Manifest.xml文件中配置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方法中 
重新加载,并更新屏幕的布局

public void onCreate(Bundle savedInstanceState) {
//强制横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// TODO 更新屏幕布局
}

public void onDestroy() {
if(getRequestedOrientation() ==
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
// 保存数据
}else if(getRequestedOrientation() ==
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
// 保存数据
}
}

android中关于手机屏幕的相关操作(获取屏幕的宽高等操作)相关推荐

  1. Android中的手机屏幕像素的几种获取方式

    在Android开发中,获取手机屏幕像素的方法有多种.在这里,我仅仅做一个小小的总结,将这些方法分为两类.一类是使用Activity类来获取,另一类便是使用上下文(Context)来获取. 1.使用A ...

  2. Android项目:手机安全卫士(15)—— 获取手机安装应用与存储空间

    Android项目:手机安全卫士(15)-- 获取手机安装应用与存储空间 1 介绍 今天来讲讲手机安全卫士的第三个功能:软件管理,其实也不应该叫管理,称为软件应用信息查看更正确一点,就是显示手机已安装 ...

  3. Android中如何根据图片url路径来获取网络图片

    原文地址:Android中如何根据图片url路径来获取网络图片 1.根据图片的URL路径来获取网络图片,核心代码如下: public static Bitmap getBitmap(String pa ...

  4. Android中需要知道的蓝牙相关常识

    首先蓝牙设备有很多种,需要区分蓝牙设备的类型,市面上主要的蓝牙设置有 蓝牙鼠标,键盘,游戏手柄等 蓝牙耳机 蓝牙音箱 可穿戴的蓝牙手环手表 蓝牙健康设备,电子秤等 因此技术上大体分为经典蓝牙和低功耗( ...

  5. Android中检测手机制式和移动网络类型

    Android中与电话功能相关的类是 TelephonyManager ,此类中定义了很多常量,以下分类说明 获取以下信息需要在AndroidManifest.xml中指定权限 一. 数据连接状态 获 ...

  6. android中invalidate()的自动清屏含义以及屏幕刷新

    invalidate()是用来刷新View的,必须是在UI线程中进行工作.比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面.invalidate()的调用是把之前的旧 ...

  7. Android中使用系统相机进行拍照并获取高清照片(一)

    打开系统像机功能 方式一: /*** 打开系统像机的功能* @param view*/public void startCamera(View view){Intent intent = new In ...

  8. android 获取navigationbar 高度,Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)...

    有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键. 比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度. 试过网上的多种方法,但是 ...

  9. Android 代码操控手机粘贴板(复制到/获取)

    Android 代码操控手机粘贴板 以下方法皆为工具方法,直接复制可用 将字符串复制到粘贴板: //系统剪贴板-复制: s为内容public static void copy(Context cont ...

最新文章

  1. AI时代的高科技读心术:算法解码脑中图像
  2. [codeforces 339]D. Xenia and Bit Operations
  3. mapreduce程序输出评分8.6分以上的书名和评分_如何选编程入门资料?光评分高怎么够|文末赠书...
  4. 微信小程序 wx:for
  5. 阿里巴巴是如何管理测试环境的?
  6. 用C#实现对Oracle 存储过程/函数/包的调试(附源代码)
  7. 过滤器获取service方法返回慢_Spring Cloud Gateway-全局过滤器(Global Filters)
  8. kubernetes pod介绍
  9. mysql用户管理设置权限_mysql 用户管理和权限设置
  10. 复制文件或文件夹时出错_为什么对于小白来说,复制文件一个都会出错???...
  11. 关于STC12C5A60S2单片机实现IAP远程升级研究
  12. Axure RP使用基础教程
  13. 路由token验证和路由守卫~~狂徒李四
  14. centos gedit 字体大小_【写作技巧】毕业论文格式要求及字体大小
  15. 基于区块链的供应链金融创新
  16. VMware虚拟机解决空间不足,增加磁盘空间(磁盘扩容)
  17. java什么是适配器类?作用是什么?_软件设计模式之适配器模式(JAVA)
  18. 不要凡事在天,守株待兔
  19. 【病毒专杀】CAD/CAM病毒专杀辅助
  20. 演讲比赛流程管理系统C++

热门文章

  1. Spark任务调度流程及调度策略分析
  2. python中dict和list排序
  3. VC++格式化输出单个字符和格式化输出十六进制的不同形式
  4. Cesium环境搭建成功和初步看一下它的示例
  5. Windows内核工具Win64AST初步使用
  6. python并发编程之多线程理论部分
  7. 使用mybatis向oracle数据库插入数据异常
  8. ASP.NET MVC5 Entity Framework CodeFirst(代码优先)
  9. jmeter测试java代码
  10. MYSQL两个数据库字符集保持一致问题