`
马背{eric.liu}
  • 浏览: 27718 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Android屏幕自适应解析

阅读更多
先了解下api中的工具类

android.util.DisplayMetrics:最主要的显示参数。

获得DisplayMetrics可以通过2种方式:

1.在Activity中使用activity.getResources().getDisplayMetrics()
2.新建一个实例,通过Display类的工具方法输出到新实例中
   DisplayMetrics metrics = new DisplayMetrics();
   activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
  注意DisplayMetris并没有重写equals方法,所以新旧实例equals是不等的。

通过Display的常量,可知密度共有三种:
  

        
  • DENSITY_HIGH
  •     
  • DENSITY_MEDIUM
  •     
  • DENSITY_LOW
  •   

并且通过系统的源代码:
return SystemProperties.getInt("qemu.sf.lcd_density",
                SystemProperties.getInt("ro.sf.lcd_density", DENSITY_DEFAULT));

可知系统获取环境变量"ro.sf.lcd_density"的值为实际设备的密度值,默认为常量DENSITY_DEFAULT,进一步产看常量DENSITY_DEFAULT的定义:
   DENSITY_DEFAULT = DENSITY_MEDIUM

由此可可知密度获取的流程,且默认值为DENSITY_MEDIUM!

DisplayMetrics主要属性:

  

        
  • DENSITY_HIGH
  •     
  • DENSITY_MEDIUM
  •     
  • DENSITY_LOW
  •   

  



res文件夹下面会有如下几个子目录

├─drawable  
├─drawable-hdpi
├─drawable-ldpi
├─drawable-mdpi
├─drawable-nodpi

分享到:
评论

相关推荐

    4种Android屏幕自适应解决方案

    本文就介绍了4中Android屏幕自适应解决方案。 一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的...

    android 自适应屏幕大小

    本文将详细解析Android系统如何处理屏幕自适应问题,并提供相应的解决策略。 首先,Android界面开发推荐使用“density-independent pixel”(dip)作为单位,以确保在不同密度的屏幕上元素的大小能保持相对一致。...

    android手游屏幕自适应开发思路

    为了更好地理解屏幕自适应的需求,首先我们需要了解常见的Android屏幕尺寸及其比例。尽管题目中提到的信息没有包含所有尺寸,但我们可以基于提供的信息进行拓展分析: - **低密度 (120dpi)**:ldpi,适用于较小的...

    android屏幕自适应

    以下是对"android屏幕自适应"这一主题的详细解析: 1. **屏幕密度与尺寸**:Android系统支持多种屏幕密度(ldpi, mdpi, hdpi, xhdpi等)和不同尺寸(small, normal, large, xlarge)。开发者需要为这些不同的屏幕...

    android自动适应屏幕源码

    下面将详细介绍这个主题,包括Android屏幕适配的基本概念、常用方法以及源码中的关键点。 1. **Android屏幕适配基本概念** Android系统提供了多种机制来处理屏幕适配问题,主要是通过资源的密度独立像素(DP, Dip...

    Android-一个用于实验自适应图标的Android应用程序

    《Android自适应图标实践:基于Kotlin的AdaptiveIconPlayground应用解析》 在移动操作系统领域,Android以其开放性和灵活性深受开发者喜爱。随着系统版本的不断迭代,Android引入了许多新特性来提升用户体验,其中...

    ViewPager 高度自适应

    以下将分步骤进行解析: 1. **ViewPager内容自适应**: - ViewPager默认会根据其第一个Child的高度来设定自身的高度。因此,如果每个页面高度不一致,需要确保每个页面的布局能够正确地计算并设置自己的高度。 - ...

    Android系统如何实现UI的自适应.doc

    ### Android系统如何实现UI的自适应 #### 一、引言 随着移动设备市场的日益繁荣,各种尺寸和分辨率的智能手机和平板电脑不断涌现。对于开发者而言,如何让一款应用程序能够完美适配各种屏幕成为了开发过程中的重要...

    android获取屏幕分辨率

    首先,我们需要理解Android屏幕分辨率的基本概念。屏幕分辨率是指屏幕上像素点的数量,通常以宽度和高度的像素值表示,如“1920x1080”。Android系统支持多种屏幕尺寸和密度,包括小、正常、大、超大四种尺寸类别,...

    图文混排 label3中自适应

    "Label"通常指的是iOS或Android开发中的文本组件,它可以显示单行或多行文本,而在“label3中自适应”这个问题中,我们可能是在讨论如何让Label组件在含有图片的混合布局中,根据内容自动调整其大小和位置。...

    本地Xml解析省市区地址三级联动(文字大小自适应)

    在Android开发中,有时我们...以上就是关于“本地Xml解析省市区地址三级联动(文字大小自适应)”的知识点详解,涵盖了XML解析、数据绑定、事件监听、UI设计等多个方面,这些知识对于Android应用开发具有很高的实用价值。

    Android之TextView自适应大小

    ng/example" android:textSize="50sp" android:gravity="center" android:singleLine="true" autofit:minTextSize="8sp" /> </LinearLayout></ScrollView>代码解析:在Android开发中,TextView是展示文本内容的基础...

    Android项目获取手机屏幕尺寸的代码段.rar

    首先,Android屏幕尺寸的单位通常为像素(px),但为了进行适配,我们通常会关心逻辑像素(dp)或者屏幕密度(dpi)。Android系统提供了多种方法来获取这些信息。 1. 获取屏幕宽度和高度(像素): 可以通过`...

    Android中Activity布局范例解析

    例如,设计一个包含两列的表格,一列固定宽度,另一列自适应,可以设置`android:stretchColumns="1"`。 3. **RelativeLayout**:相对布局允许子视图相对于其他视图的位置进行定位,提供了丰富的对齐方式。例如,一...

    图片自适应大小1

    首先,标题中的“图片自适应大小1”指的是在Android应用中,我们希望图片能够根据`ImageView`的尺寸自动调整,以适应屏幕的不同尺寸和布局需求。在`ImageView`中设置`android:adjustViewBounds="true"`这一属性,就...

    Android PDF展示、双击放大缩小等.rar

    3. **自适应屏幕大小**:为了确保不同尺寸和分辨率的设备都能良好显示PDF,项目可能采用了响应式布局设计,如使用`PercentRelativeLayout`或`ConstraintLayout`。通过动态计算和调整元素大小,使得PDF内容可以适应...

    SamsungAdaptive,三星OneUI图标完全自适应!.zip

    三星OneUI图标自适应技术是三星电子为提升用户体验而推出的一种设计策略,它允许应用程序图标根据设备的主题、屏幕尺寸和用户偏好自动调整形状、大小和颜色,以保持界面的统一和美观。在"SamsungAdaptive,三星OneUI...

    Android高仿淘宝物流时间轴(AndroidStudio版

    3. **网络请求与数据解析**:Android Studio通常配合Retrofit或Volley等网络库进行API调用。获取到的物流信息以JSON格式返回,需要使用Gson或Jackson库进行解析,将JSON数据转化为Java对象。 4. **RecyclerView...

    Android开发-SeeJoPlayer视频播放器源码解析.pdf

    这意味着该播放器具备良好的兼容性和自适应能力,能够在各种设备上运行并自动调整以适应屏幕尺寸。 在功能方面,SeeJoPlayer提供了全屏切换(双击屏幕)、播放/暂停(长按屏幕)、静音/恢复(长按音量按钮)、播放...

    Android基础教程(四)之-取得手机屏幕大小DisplayMetrics的应用

    ### Android基础教程(四)之-取得手机屏幕大小DisplayMetrics的应用 #### 一、引言 在Android开发中,为了确保应用能够在不同尺寸和分辨率的设备上正常运行,开发者经常需要根据当前设备的屏幕特性来调整布局或者...

Global site tag (gtag.js) - Google Analytics