Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法
本文实例讲述了Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法。分享给大家供大家参考。具体如下:
首先定义TextView对象commentText
获取文字的宽高:
TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); textPaint.setTextSize(commentText.getTextSize()); textPaint.setColor(Color.WHITE); FontMetrics fontMetrics = textPaint.getFontMetrics(); float fTop = fontMetrics.top; float fBottom = fontMetrics.bottom; float textHeight = (int)(fBottom - fTop); float textWidth = (int)textPaint.measureText(commentText.getText());
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels; //屏幕宽
int height = dm.heightPixels; //屏幕高
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top; //状态栏高
int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
int titleBarHeight = contentTop - statusBarHeight; //标题栏高
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();//屏幕宽度
int height = wm.getDefaultDisplay().getHeight();//屏幕高度
获取textView宽度
TextPaint paint = textView.getPaint(); float len = paint.measureText(string);
获取屏幕尺寸:
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); double x = Math.pow(dm.widthPixels/dm.xdpi,2); double y = Math.pow(dm.heightPixels/dm.ydpi,2); double screenInches = Math.sqrt(x+y); //屏幕尺寸(英寸)
希望本文所述对大家的Android程序设计有所帮助。
相关推荐
-
Android编程实现获取系统内存、CPU使用率及状态栏高度的方法示例
本文实例讲述了Android编程实现获取系统内存.CPU使用率及状态栏高度的方法.分享给大家供大家参考,具体如下: DeviceInfoManage类用于获取系统的内存,CPU的信息,以及状态栏的高度 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReade
-
Android如何获取屏幕、状态栏及标题栏的高度详解
前言 本文主要给大家介绍了关于Android获取屏幕.状态栏及标题栏高度的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 在开始之前,先来看一张图: 绿色区域:屏幕区域 蓝色区域:状态栏区域 红色区域:标题栏区域 黄色区域:view绘制区域 1.Android手机屏幕的高度 整个手机使用发亮,不使用变黑的部分,绿色区域 获取屏幕的高度方法一 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getD
-
Android编程实现获取标题栏、状态栏的高度、屏幕大小及模拟Home键的方法
本文实例讲述了Android编程实现获取标题栏.状态栏的高度.屏幕大小及模拟Home键的方法.分享给大家供大家参考,具体如下: 1. 获取标题栏高度: /** * 获取标题栏的高度 * * @param activity * @return */ public int getTitleHeight(Activity activity) { Rect rect = new Rect(); Window window = activity.getWindow(); window.getDecorVi
-
Android中获取状态栏高度的两种方法分享
前言 最近在做一个关于FAB的功能的时候需要获取状态栏的高度,在网上查了很多种方法,下面是选出的比较合理的两个方法.主要参考stackoverflow的这篇问答:http://stackoverflow.com/questions/3407256/height-of-status-bar-in-android 方法一: private double getStatusBarHeight(Context context){ double statusBarHeight = Math.ceil(25
-
Android 取得状态栏、任务栏高度的小例子
复制代码 代码如下: package com.aslibra.test; import android.app.Activity; import android.graphics.Rect; import android.os.Bundle; import android.util.Log; import android.view.Window; import android.widget.ImageView; public class test extends Activity { Ima
-
Android有效获取状态栏(StatusBar)高度的方法
本文实例讲述了Android有效获取状态栏(StatusBar)高度的方法.分享给大家供大家参考,具体如下: 碰到了需要获取状态栏高度的问题. 就像android后期版本,无法直接退出一样.找了一些方法来获取状态栏高度,结果都是为0. 还好,牛人是很多的,当时,找到一段代码,能够有效的获取状态栏的高度.特此记录,备忘,以及供大家参考使用: Class<?> c = null; Object obj = null; Field field = null; int x = 0, sbar = 0;
-
Android 获取屏幕高度,标题高度,状态栏高度(实例代码)
通过View提供的方法获取高度方式有两种: 1, 当前显示的view中直接获取当前view高宽2, 通过Activity的getWindow().findViewById(Window.ID_ANDROID_CONTENT)获取系统当前显示的 view根(是一个framelayout对象),android绘制会将要绘制的view放置在framelayout中绘制. Display对象获取屏幕高宽 : 获取display对象 Activity中getWindowManager().getDefau
-
Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法
本文实例讲述了Android获取手机屏幕宽高.状态栏高度以及字符串宽高信息的方法.分享给大家供大家参考.具体如下: 首先定义TextView对象commentText 获取文字的宽高: TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); textPaint.setTextSize(commentText.getTextSize()); textPaint.setColor(Color.WHITE); FontMetrics fo
-
Android获取设备屏幕宽高pix值的方法
本篇文章主要介绍了Android获取设备屏幕宽高pix值的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight
-
Android编程基础之获取手机屏幕大小(DisplayMetrics应用)示例
本文实例讲述了Android获取手机屏幕大小的方法.分享给大家供大家参考,具体如下: 这里主要用了三个对象TextView ,Button ,以及DisplayMetrics ,其中Displaymetrics 是取得手机屏幕大小的关键类,这个例子非常的简单,当我们点击按钮,触发事件,在TextView 里显示手机屏幕的宽高分辨率. 看一下效果图: 按钮触发前: 按钮触发后: 其中我们在res->layout->values->string.xml增加了两行如下: <string
-
Android开发获取手机内网IP地址与外网IP地址的详细方法与源码实例
在进行Android应用开发过程中,有时候会遇到获取当前Android设备所使用的网络IP地址的场景,有时候需要本地的网络IP地址,即局域网地址,更多的时候是需要当前网络的真实的对外IP地址,即真实的网络地址,如大数据分析时往往需要Android设备上传本地的外网地址.本文对各种IP地址的获取进行了总结. 首先用大家比较熟悉的电脑端局域网地址和外网地址的获取方式对比一下:(1).电脑端局域网地址获取方式,可以通过在终端命令行输入ipconfig进行查看,如下图IPv地址标识的就是本机的局域网地址
-
Android中获取手机屏幕大小的方法
本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下 运行效果图: 运行程序后,当我们点击Button按钮时,可以看到下面的效果图: 具体代码: 我们可以通过使用类DisplayMetrics来获取手机屏幕的分辨率大小.DisplayMetrics类是获取手机屏幕各种属性的关键类.下面通过例子来展示如何获取手机屏幕的分辨率. 在布局文件main.xml中添加一个TextView对象,一个Button对象.其中TextView对象用来显示获得的分
-
Android编程获取手机屏幕分辨率大小的方法
本文实例讲述了Android编程获取手机屏幕分辨率大小的方法.分享给大家供大家参考,具体如下: import android.app.Activity; import android.os.Bundle; import android.util.DisplayMetrics; import android.widget.TextView; public class A03Activity extends Activity { private TextView mTextView01; /** C
-
Android 获取手机信息实例详解
Android 获取手机信息 应用信息:包名.版本号.版本名,手机是否有Root权限 手机信息:手机屏幕宽和高.当前可用内存大小.总内存大小.IMEI号.IESI号.手机型号.手机品牌.手机MacAdd.CPU型号.CPU频率 开门见山,以下是Java代码,XML只有一个TextView显示信息. package com.example.getphoneinfo; import java.io.BufferedReader; import java.io.File; import java.io
-
Android获取手机信息的工具类
网上收集的一些获取收集信息的代码,制作成一个工具类,以后可以方便调用. import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import android.app.Activity; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.p
-
Android改变手机屏幕朝向的方法
本文实例讲述了Android改变手机屏幕朝向的方法.分享给大家供大家参考.具体如下: 模拟当点击按钮时,使手机朝向发生改变. main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="v
-
Android 录制手机屏幕视频生成GIF图片实例详解
Android 录制手机屏幕视频生成GIF图片实例详解 无图无真相,在我们日常的网络交流中往往需要给交流对象提供直观的显示,而视频是一个很好的方式,但是视频需要播放器,还需要当做文件进行对点传输,并不是很方便.想CSDN这样的博客网站也并不支持在博客里放视频这种方式,除非你贴外链,太烦了不是么.最好是如下图这种gif方式,直观 今天来教大家一个易操作的录制方式.当然,一般只适合Android开发者.因为你需要有AndroidStudio 工具 AndroidStudio(完成手机屏幕的视频录制,
随机推荐
- recycle.exe(Trojan-Dropper.Win32.VB.rj)病毒的查杀方法
- jQuery事件绑定on()、bind()与delegate() 方法详解
- 浅析打开eclipse出现Incompatible JVM的解决方法
- 详解iOS应用开发中的ARC内存管理方式
- yii2.0实现验证用户名与邮箱功能
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
- MySQL数据库下用户及用户权限配置
- MySQL慢查询之pt-query-digest分析慢查询日志
- Windows平台的 PHP 报错 Fatal error: Class COM not found in 的解决方法
- 网站控制台directadmin中文手册 Linux下虚拟主机管理
- 安装SQL2005提示 找不到任何SQL2005组件的问题解决方案
- Mysql常用命令汇总
- 修改sshd默认端口的步骤
- js实现3d悬浮效果
- Avalonjs 实现简单购物车功能(实例代码)
- 表单元素与非表单元素刷新区别详细解析
- c#数字图像处理的3种方法示例分享
- 轻松学习C#的方法
- 网络路由技术及运用2
- JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)