安卓开发获取屏幕像素和密度

【Android】像素密度,屏幕密度,屏幕大小,分辨率,ldpi,mdpi,xhdpi,xxhdpi Android将实际的屏幕密度进行划分(low,medium,high,andextrahigh,extraextrahigh)一般情况下的普通屏幕ldpi是120dpi,mdpi是160dpi,hdpi是240dpi,xhdpi是320dpi,xxhdpi是480dpi。通常的手机尺寸4英寸,4.5英寸,4.0英寸,5.0英寸,5.2英寸,5.4英寸,5.99英寸,6.0英寸,6.2英寸等。是像素密度的另外一种表示,是以160dpi=1.0为基准的。一周掌握Android入门知识。... 阅读详情

用来测试的虚拟机是320*480像素mdpi的
总结了以下三种方法

(一)

Point point =new Point();
getWindowManager().getDefaultDisplay().getSize(point);
point.x;//(320)
point.y;//(480)

(二)

DisplayMetrics metrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.widthPixels;//(320)
metrics.heightPixels;//(480)
metrics.xdpi;//(160.0)
metrics.ydpi;//(160.0)
metrics.density;//(1.0)
metrics.densityDpi;//(160)

(三)

DisplayMetrics metrics2=getResources().getDisplayMetrics();
metrics2.widthPixels;//(320)
metrics2.heightPixels;//(480)
metrics2.xdpi;//(160.0)
metrics2.ydpi;//(160.0)
metrics2.density;//(1.0)
metrics2.densityDpi;//(160)

当不是在activity中时,就不能直接用getWindowManager()等方法了,这时可以用Context.getSystemService(Context.WINDOW_SERVICE)方法,其他的类似

安卓获取当前屏幕的屏幕尺寸(像素) 在安卓开发过程中需要获得当前屏幕尺寸(像素)来做适配,或者图片尺寸设计,技术含量不大,望君采用,为你剩几秒钟,哈哈!!! 立即下载

相关推荐

android获取设备分辨率、屏幕尺寸和屏幕像素密度(PPI)

编码UTF-8;我们在ZOL上可以通过“参数”查看知名设备的信息,但如果客户寄给你一个他们自己定制的平板,通过“设置”也看不到你想要的信息, 而且还让你的APP适配他们的平板,怎么办?此Demo提供了获取设备的分辨率、屏幕尺寸和屏幕像素密度(PPL)的方式。

android 百度地图标注覆盖物学习

介绍最近着手做一个新的项目,其中涉及到地图定位,以及从服务器获取附近的特定商家并在地图上面标注出来。于是就研究了一下百度地图标注覆盖物功能,然后进行一点个人总结,以便学习交流使用。一、定位百度地图SDK从2.0.0版本起,将定位功能进行了分离,开发者在使用过程中,下载开发包的时候注意下载带有定位功能的SDK。 定位功能的具体实现这里不过多赘述请参看官方文档; 核心代码如下: /**

Maintel notes 4270

UniApp实现多端支付功能完整实现指南

支付业务流程多端支付实现安全性保障异常处理最佳实践支付基础知识多端支付实现统一支付封装安全性处理异常处理最佳实践根据具体业务场景选择合适的支付方式注重安全性和用户体验做好异常处理和日志记录持续优化和改进支付流程关注我,持续分享前端项目开发经验!

weixin_63454527的博客 2127

Android 获取屏幕像素(宽高)

android 获取屏幕宽高

minusn的博客 530

脑影像分析入门:如何用一般线性模型(GLM)处理fMRI数据?

本文为神经影像研究入门者详细解析了如何运用一般线性模型(GLM)处理fMRI数据。文章从GLM的核心原理出发,逐步拆解了从实验设计、构建稳健设计矩阵、模型估计与统计推断,到高阶分析及多重比较校正的全流程,并指出了常见陷阱与结果解读要点,是掌握fMRI数据分析基础的关键指南。

weixin_29091445的博客 397

python爬虫抖音 个人资料 仅供学习参考 切勿用于商业

本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Tools-Options-HTTPS,如图1红框打钩,HTTPS旁边Connections配置,如图2红框打钩 1.2.再次点击HTTPS栏,点击Actions选择第二个…to ...

dbva7063的博客 1491

Android `DisplayMetrics`动态获取屏幕的分辨率和像素密度

在Android应用程序中,你可以使用`DisplayMetrics`类来动态获取屏幕的分辨率和像素密度。以下是如何获取这些信息的示例代码:

m0_59162559的博客 1072

如何用Bertalign快速搞定多语言句对齐?5分钟上手教程(附避坑指南)

本文详细介绍了如何利用Bertalign工具快速实现多语言句对齐,从安装配置到实战应用的全流程指南。通过LaBSE句向量技术,Bertalign显著提升了对齐准确率,支持25种语言的任意组合,特别适合处理复杂句式。文章还提供了常见问题的解决方案和性能优化技巧,帮助用户高效完成多语言文本对齐任务。

weixin_42538752的博客 348

安卓屏幕适配方案(修改像素密度)

px值 = dp值 * metrics.density,这里的density是指的手机的屏幕密度,由系统提供,不同的手机的density可能不同,所以我们不能直接使用系统的density,通过修改density值,强行把所有不同尺寸分辨率的手机的宽度dp值改成一个统一的值,这样就解决了所有的适配问题。该实现是基于设计图宽度为640dp进行适配的,假如UI设计图不一致,只需更改对应的值即可。除此之外,我们也可以高度进行适配,只需替换一行代码即可,例如以高度400dpj进行适配,如下。

weixin_41119184的博客 1752

添加USB wifi驱动到RK3568

在日常开发中我们经常需要用到wifi功能,一般来说soc厂家都会事先做好了几个厂家的wifi驱动在内核源码目录下,我们只需要按原理图配置对应的设备树即可。常用的wifi的接口有:USBSDIOPCIE下面来介绍这这种接口是如何使用wifi芯片。提示:以下是本篇文章正文内容,下面案例可供参考本小节介绍了一个配置一个USBwifi驱动的整个流程,并没有介绍到SDIO,下小节基于AP6256介绍如何使用。

qq_24093081的博客 2049

【2026最新】3分钟Windows极速部署OpenClaw,完整可复制命令+全链路避坑指南

很多新手在Windows环境部署OpenClaw时,总会遇到各种玄学问题:WSL环境配置失败、Docker镜像拉取超时、容器启动后无法访问、权限报错、数据丢失……网上大量教程要么是Linux环境的,要么是早已过时的旧版本配置,照着操作不仅没法3分钟部署,反而要花几小时踩坑填坑。

2601_94871597的博客 493

关于android系统的分辨率:使用其他设备模拟该分辨率

开发的时候需要适配很多种奇葩的LCD尺寸,这些设备分辨率往往很多适配起来很麻烦,加上手头往往没有对应设备。 比如说:我碰到一个分辨率是1440x900 并且屏幕的方向是竖屏,还有 1280x1024这种模拟器都不支持的分辨率。 这些设备往往不在身边,测试起来就比较麻烦。         这里我总结一下如何方便的进行对这些屏幕的开发。 1.首先我们得确定屏幕的分辨率 和 像素密度 分辨

不喜欢debug的疯子 4587

多源异构数据在线可视化ETL编排平台深度实践:基于Python与Apache Calcite的现代数据管道构建

在当今企业数据环境中,数据源呈现爆发式增长与高度异构性。传统ETL工具面对多源(MySQL、PostgreSQL、MongoDB、Hive、文件系统等)与异构(结构化、半结构化、非结构化)数据时,往往面临扩展性差、学习曲线陡峭、难以融入现代DevOps体系等问题。本文深入探讨了如何构建一个基于Python/Pandas、Apache Calcite(通过JPype桥接)以及Vue.js前端的轻量级、在线可视化ETL编排平台。

2201_76125261的博客 74

Bitmap -> Bitmap安卓设备上的显示和内存

Bitmap -> Bitmap安卓设备上的显示和内存

sunshine_guo的博客 1035

车企自动泊车技术全解|纯视觉/多传感器融合双路线、端到端大模型革新 助力机械车位/无划线车位/极窄车位精准泊车落地

随着智能驾驶技术全面下沉,自动泊车已从高端车型专属配置,普及至十万级家用车型,成为车载核心刚需功能。但市面主流车企的泊车能力差距极大,核心差异源于传感器硬件架构、算法迭代逻辑、场景训练体系的全方位分化。传统规则式泊车算法仅适配标准划线车位,面对地库暗光、标线磨损、机械双层车位、极窄靠墙车位、无划线空地泊车等真实长尾场景极易失效。

getusushu的博客 105

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

安卓设备修改屏幕像素密度以及查看屏幕分辨率

安卓设备修改屏幕像素密度以及查看屏幕分辨率打开ADB工具adb常用修改分辨率命令 注意:首先确保电脑上ADB配置成功,且能够与手机正常连接 打开ADB工具 1.在电脑上下载并安装ADB工具。将手机连接到电脑,确保手机已经打开USB调试模式。在cmd中输入adb devices查看是否连接成功。出现如下图所示,代表连接成功 adb常用修改分辨率命令 {以下命令针对高通的开发板子} 1.获取Android设备屏幕分辨率: adb shell wm size 2.获取android设备屏幕密度: adb she

Hongyinuo的博客 5933

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android获取屏幕的大小与密度

Android项目开发中很多时候需要获取手机屏幕的宽高以及屏幕密度来进行动态布局,这里总结了三种获取屏幕大小和屏幕密度的方法 // 获取屏幕密度(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px) int screenHeig

Ricky 2285

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

安卓开发中获取设备的屏幕尺寸

安卓开发中获取设备的屏幕尺寸: WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(dm); int width = dm.widt...

邢走天下 2882

Android 屏幕适配基础

不同屏幕密度下,1p显示的物理长度不同 1dp在不同屏幕上显示相同的物理长度 sp只用在字体上,和dp一样为了让在不同设备上有一致的显示效果搞清楚屏幕的各种单位含义,是屏幕适配的基础含义:手机对角线的物理尺寸单位:英寸(inch),1英寸=2.54cm含义:每英寸的像素点数单位:dpi(dots per ich) 该屏幕的dpi=density*160dpi 在Android中,规定以160dpi(即屏幕分辨率为320x480 5.7英寸)为基准:1dp=1px含义:density-independent

嘴巴吃糖了 1356

android获取屏幕高度dp,Android开发获取手机的屏幕宽高,density值,px 宽高,dp 的宽高,及px 和dp互转...

直接贴代码tvModel.setText(android.os.Build.MODEL);//手机型号// 获取屏幕密度(方法1)int screenWidth1 = getActivity().getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px)int screenHeight1 = getActi...

weixin_42683392的博客 495

Android屏幕尺寸详解

屏幕尺寸、dp、px

qq_25330791的博客 5049

android dp不同高度,Android获取屏幕的宽度和高度(dp)

相信各位做Android开发的朋友们对Android手机做适配是件很烦的事。在美工里一般用的单位是px,而Android为了适配,官方提供了dp这样一个单位在布局文件里使用。但是如果要动态调整控件的大小呢?在代码里面又怎么使用dp呢?其实dp这个单位只是分辨率和像素密度的一个比值,我们只需要获取到这两个值,把他们出一下就行了,就是这么简单。废话不多说,代码贴上:public void getAnd...

weixin_36194075的博客 980

2. Android开发 -像素,颜色和屏幕分辨率

像素 Android支持的像素有px(像素),in(英寸),mm(毫米),pt(磅 1/72英寸),dp(dip)和像素无关的显示单位,sp用于字体。 常见的有px,dp和sp。px就是像素,比较常见。dp显示和物理设备没有关系,只和屏幕尺寸有关。sp设置的字体会随着手机系统的字体变化而变化。dp和sp的转化关系和屏幕的像素密度相关。px = (int)(dp * density)。获取屏幕像素密度 context.getResources().getDisplayMetrics().density; 在

ZhiP_Yan的博客 302

ADB 命令获取Android 设备的屏幕分辨率和屏幕像素密度

而“160”是一个基准值,通常用于将设备独立像素(dp或dip)转换为像素(px)。所以说:如何设计给你出图是412px的图,你可以1px=1dp不用转换直接用可以屏幕适配,但是如果用户的手机是≈360的,那完了,完全不适配,所以设计出图还是按照360px的宽度出图吧,虽然不完全适配但是不至于看不下去。dpi/160 (“dpi/160”中的“160”是一个用于屏幕适配的基准像素密度值,而“dpi”则是用于描述设备像素密度的指标)就是说这这个手机上 412dp可以横向充满屏幕。

龙叔的专栏 8475

Android开发笔记(三)屏幕分辨率

在app编码中经常需要获取手机的屏幕分辨率(宽*高),原来我直接上网拷贝代码,但在使用过程中却发现诸多不便。 不便一:下面代码中的getWidth和getHeight在adt上提示deprecated已经废弃了,实在扎眼 WindowManager wm = getWindowManager(); Display display = wm.getDefaultDisplay()

aqi00的博客 7090

Android获取屏幕的大小与密度的代码

Android项目开发中很多时候需要获取手机屏幕的宽高以及屏幕密度来进行动态布局,这里总结了三种获取屏幕大小和屏幕密度的方法 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33...

weixin_30699955的博客 146
上一篇: ViewPager相关笔记
下一篇: 卸载使用“python setup.py install”安装的包
listenerri
博客等级 码龄12年 39粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值