Android 开发中获取View视图的宽和高的几种方法
发布日期:2021-06-30 22:36:57 浏览次数:2 分类:技术文章

本文共 1330 字,大约阅读时间需要 4 分钟。

一、根据WindowManager管理器获得

1)这两种方法在屏幕未显示的时候,还是处于0的状态,即要在setContentView调用之后才有效。
2)Activity必须如此设置才能获得view的宽高

//设置为无标题requestWindowFeature(Window.FEATURE_NO_TITLE);//设置为全屏模式getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN

1)老版本

WindowManager windowManager = getWindowManager();Display display = windowManager.getDefaultDisplay();screenWidth = display.getWidth();screenHeight = display.getHeight();

2)新版本

DisplayMetrics dm = new DisplayMetrics();this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指当前activityscreenWidth =dm.widthPixels;screenHeight =dm.heightPixels;

二、在onDraw中由canvas来获得

@Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);    screenWidth =canvas.getWidth();    screenHeight =canvas.getHeight();}

三、重写view的onSizeChanged,该方法会在onCreate之后,onDraw之前调用

protected void onSizeChanged(int w, int h, int oldw, int oldh) {viewHeight=h;viewWidth=w;super.onSizeChanged(w, h, oldw, oldh);}

———————————————————————

有需求者请加qq:136137465,非诚勿扰
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–

转载地址:https://lovoo.blog.csdn.net/article/details/51440108 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android 侧滑面板的实现(DragLayout)
下一篇:Android 图片的平移、缩放、倒影、旋转实现

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月28日 01时03分43秒