首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android学习第六弹之 Android字体大小自适应不同分辨率的方法

Android字体大小自适应不同分辨率 非著名程序员 今天有人问我,android系统不同分辨率,不同大小的手机,字体大小怎么去适应呢?其实字体的适应和图片的适应是一个道理的。...然后在文件夹 values ,values-320x240 和 values-480x320 下新建xml文件dimens.xml,该xml文件内容如下: vaules-320x240下的dimens.xml...> 18sp 针对不同分辨率的手机,android系统会自动适配加载相应文件中的字体的大小值...,btnTextSize的值是不同的。...在视图的 onsizechanged里获取视图宽度,一般情况下默认宽度是320,所以计算一个缩放比率 rate = (float) w/320 w是实际宽度 2.然后在设置字体尺寸时 paint.setTextSize

945100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android TV开发总结【适配】

    前言 Android 的屏幕适配是指适配不同机顶盒 UI 框架层输出的分辨率和 dpi,而不是适配不同分辨率的电视机(电视机的适配交由机顶盒本身完成,和各个应用无关) 之前的文章有介绍过适配相关的问题在和...单位是英寸,1英寸=2.54厘米; 屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1像素点,一般是纵向像素横向像素,如1280×720; 屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“...的缩写,可以根据文字大小首选项自动进行缩放。...例如,一个图标的大小为48×48dp,表示在mdpi上,实际大小为48×48px,在hdpi像素密度上,实际尺寸为mdpi上的1.5倍,即72×72px,以此类推。...此时dimens文件中的数值也需要转换,两个相差1.33倍,那么 {现在的dimens数值=(原来的dimens数值 /1.33)} 建议使用打造AS酷炫dimens适配插件 本人的插件,方便做dimens

    4.1K10

    Android App 国际化

    Android没有专门的API来提供国际化,而是通过对不同resource的命名来达到国际化的目的,同时这种命名方法还可用于对硬件的区分,如不同的屏幕分辨率用不同的图片。...values表示默认的资源文件夹,即当Resource找不到匹配的资源时,会使用values文件夹下的资源。文件夹的命名必须都是小写字符,否则在一些大小写敏感的文件系统中可能会出错。...代码中找到引用的地方,替换成重复字段第一次出现的name(这也是刚才要排序的原因,可以在excel中直接找到第一次出现的name),最后在strings.xml中删除。...也可以尝试使用英文缩写(这个适用性比较低,只适用于比较流行的词语,否则容易产生歧义),或者将高宽的固定值改成wrap_content,或者调整字体大小,同样需要在values_en的dimens.xml...当然我只是列举了部分情况,不同的项目都会对应着不同的特例,很难面面俱到,仍然需要不断的摸索。

    4.8K41

    提示Android屏幕适配方案分析

    dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个187dp...高度的控件,在不同的手机中就能表现出差不多的大小了。...由于density不是固定不变的,所以每个分辨率不同的设备他们的density都肯定不相等,这样就会造成每个设备的宽/高对应的总dp都是不同的,假设480 * 800分辨率的density是1.5,1080...设定一个基准的分辨率,也就是设计图对应的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。...优点 使用成本非常低,操作非常简单 侵入性非常低 可适配三方库的控件和系统的控件 缺点 会全局影响APP的控件大小,例如一些第三方库控件,他们设计的时候可能设计图尺寸并不是像我们一样是375dp,这样就会导致控件大小变形等一些问题

    1.2K40

    Android 目前最稳定和高效的UI适配方案

    *96dp的控件,在不同的手机中就能表现出差不多的大小了。...是不同的,这也就意味着,不同的分辨率中,1dp对应不同数量的px(720P中,1dp=2px,1080P中1dp=3px),这就实现了,当我们使用dp来定义一个控件大小的时候,他在不同的手机里表现出相应大小的像素值...简单说,就是穷举市面上所有的Android手机的宽高像素值: ? 设定一个基准的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。...这个时候,如果我们的UI设计界面使用的就是基准分辨率,那么我们就可以按照设计稿上的尺寸填写相对应的dimens引用了,而当APP运行在不同分辨率的手机中时,这些系统会根据这些dimens引用去该分辨率的文件夹下面寻找对应的值...还有一个缺陷我忘了提,那就是多个dimens文件可能导致apk变大,这是事实,根据生成的dimens文件的覆盖范围和尺寸范围,apk可能会增大300kb-800kb左右,目前糗百的dimens文件大小是

    1.4K20

    骚年你的屏幕适配方式该升级了!-smallestWidth 限定符适配方案

    ,我很是认同,但是我站在执行者的角度来看待这个问题,也有一些不同的观点,以下是我在上篇文章中的回复 ?...文件夹中的这个 dimens.xml 是根据什么原理创建的 dimens.xml 生成原理 因为我们在项目布局中引用的 dimens 的实际值,来源于根据当前设备屏幕的 最小宽度 所匹配的 values-sw...dp 文件夹中的 dimens.xml,所以搞清楚 dimens.xml 的生成原理,有助于我们理解 smallestWidth 限定符屏幕适配方案 说到 dimens.xml 的生成,就要涉及到两个因数...dp 文件夹,文件夹中的 dimens.xml 文件是由从 1 到 375 组成的 dimens 引用,把所有设备的屏幕宽度都分为 375 份,所以在布局文件中我们应该把这个 View 的高宽都引用...dp_50 下面就来验证下在使用 smallestWidth 限定符屏幕适配方案 的情况下,这个 View 与屏幕宽度的比例在分辨率不同的设备上是否还能保持和设计图中的比例一致 验证设备 1 设备 1

    94520

    Android目前最稳定和高效的UI适配方案

    *96dp的控件,在不同的手机中就能表现出差不多的大小了。...当我们使用dp来定义一个控件大小的时候,他在不同的手机里表现出相应大小的像素值。...简单说,就是穷举市面上所有的Android手机的宽高像素值: ? 设定一个基准的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。...这个时候,如果我们的UI设计界面使用的就是基准分辨率,那么我们就可以按照设计稿上的尺寸填写相对应的dimens引用了,而当APP运行在不同分辨率的手机中时,这些系统会根据这些dimens引用去该分辨率的文件夹下面寻找对应的值...还有一个缺陷我忘了提,那就是多个dimens文件可能导致apk变大,这是事实,根据生成的dimens文件的覆盖范围和尺寸范围,apk可能会增大300kb-800kb左右,目前糗百的dimens文件大小是

    1.8K20

    Android屏幕适配方案分析

    dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个187dp...高度的控件,在不同的手机中就能表现出差不多的大小了。...由于density不是固定不变的,所以每个分辨率不同的设备他们的density都肯定不相等,这样就会造成每个设备的宽/高对应的总dp都是不同的,假设480 * 800分辨率的density是1.5,1080...屏幕适配方案 1.1 宽高限定符适配 设定一个基准的分辨率,也就是设计图对应的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。...优点 使用成本非常低,操作非常简单 侵入性非常低 可适配三方库的控件和系统的控件 缺点 会全局影响APP的控件大小,例如一些第三方库控件,他们设计的时候可能设计图尺寸并不是像我们一样是375dp,这样就会导致控件大小变形等一些问题

    1.2K10

    Ubutu系统文件结构

    2.文件系统结构 /是一切目录的起点,如大树的主干。其它的所有目录都是基于树干的枝条或者枝叶。在ubuntu中硬件设备如光驱、软驱、usb设备都将挂载到这颗繁茂的枝干之下,作为文件来管理。 ?.../dev: dev是Device(设备)的缩写。该目录存放的是Linux的外部设备,如硬盘、分区、键盘、鼠标、usb等。.../var: 长度可变的文件,尤其是些记录数据,如日志文件和打印机文件。...,所以Sun和sun是两个不同的文件。...3.推荐 一个好用的工具,查看文件的树状目录结构,而且不同类型的文件夹和文件都用不同的颜色标记: sudo apt-get install tree 好东西啊,多美的名字,就叫tree,哈哈,安装好了之后

    74920

    Android开发稳定和高效的UI适配方案总结

    *96dp的控件,在不同的手机中就能表现出差不多的大小了。...是不同的,这也就意味着,不同的分辨率中,1dp对应不同数量的px(720P中,1dp=2px,1080P中1dp=3px),这就实现了,当我们使用dp来定义一个控件大小的时候,他在不同的手机里表现出相应大小的像素值...,可能都是300px,而Pixel 2 中 ,就只有262.5px,这样控件的实际大小会有所不同。...简单说,就是穷举市面上所有的Android手机的宽高像素值: ? 设定一个基准的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。...这个时候,如果我们的UI设计界面使用的就是基准分辨率,那么我们就可以按照设计稿上的尺寸填写相对应的dimens引用了,而当APP运行在不同分辨率的手机中时,这些系统会根据这些dimens引用去该分辨率的文件夹下面寻找对应的值

    49130

    谈谈Android屏幕适配的那些事,我们到底该怎么去选择

    对于适配各种尺寸的屏幕而苦恼;出现一个新的机型而修改这数不尽的dimens以及layout;为了UI给的奇葩尺寸的设计图而绞尽奶汁计算距离。...也就是说无论在pad下还是大小屏手机下,我们实际看到的该控件的大小是差不多的: 资源目录名。上图可见虽然使用dp确保了控件在不同屏幕中的绝对大小一致。...但是通常情况下,设计师并不会对不同屏幕提供不同的设计图,他们的需求仅仅是不同屏幕下控件对屏幕的相对大小一致,所以dp并不能满足这一点,而对各种屏幕适配一遍又显得略为繁琐,并且修改也较为麻烦。...in : 英寸,是屏幕的物理尺寸,手机屏幕大小如1.6英寸、1.9英寸、2.2英寸,都是指的对角线的长度。 dpi:Dots Per Inch的缩写, 每英寸点数,即每英寸包含像素个数。...demins在value文件夹下,相关配置可以在values-hpdi,values-mdpi,values-ldpi三种文件夹中的dimens.xml文件进行设置。

    1.1K30

    AndroidAutoSize开源库屏幕适配分析

    sp 全称scaled pixels,放大像素的缩写,专门用于处理字体的大小。它不仅与屏幕dpi有关,还与系统的默认字体大小有关。...,这个View能否做到不同分辨率的设备还能保持与设计图中一致的比例。...smallestWidth 限定符屏幕适配方案 开发者先在项目中根据主流屏幕的 最小宽度 (smallestWidth) 生成一系列 values-swdp 文件夹 (含有 dimens.xml 文件)...,当把项目运行到设备上时,系统会根据当前设备屏幕的 最小宽度 (smallestWidth) 去匹配对应的 values-swdp 文件夹,而对应的 values-swdp 文件夹中的 dimens.xml...适配范围可自由控制,不会影响其他三方库 缺点 在布局中引用 dimens 的方式,日常维护修改时较麻烦 侵入性高,如果项目想切换为其他屏幕适配方案,因为每个 Layout 文件中都存在有大量 dimens

    4.8K41

    Android全面的屏幕适配方案解析(二)

    我们知道同样尺寸在不同分辨率的设备,每1dp所代表的像素数量是不一样的,如表格所示: 由表格可以看出,在480x800、720x1280、1080x1920的手机,dpi是不同的,这也是说,1dp在这些不同分辨率的手机中...,分别对应的1.5px、2px、3px,这样当我们用dp作为控件大小单位的时候,在不同分辨率的手机上看到的大小一样,此时各手机上显示的比例也就一致啦。...那么该基准尺寸编写对应的dimens文件为: 那什么又叫其它分辨率根据这个基准做适配呢?...使用这种适配方案,可以按照UI设计稿的尺寸为基准分辨率,这时运行在不同分辨率的手机中,这些系统会根据这些dimens引用去该分辨率的文件夹下面寻找对应的值,这样基本解决了我们的适配问题,而且极大的提升了我们...当然也是有的 最明显的肯定就是占用资源大,会增加APK的体积 容错机制大,需要精准命中资源文件才能适配,比如1920x1080的手机就一定要找到1920x1080的限定符,否则就只能用统一的默认的dimens

    1.1K30

    046android初级篇之android多分辨率兼容

    相反,如果设为false,即使在文件夹下拥有相同资源,应用不会自动地去相应文件夹下寻找资源: 如果drawable-hdpi、drawable-mdpi、drawable-ldpi三个文件夹中有同一张图片资源的不同密度表示...在程序的代码中不要出现具体的像素值,在dimens.xml中定义; 为了使代码简单,android内部使用pix为单位表示控件的尺寸,但这是基于当前屏幕基础上的。...不同大小屏幕用不同大小的图片,low:medium:high:extra-high图片大小的比例为3:4:6:8;举例来说,对于中等密度(medium)的屏幕你的图片像素大小为48×48,那么低密度(low...2.4 不同的layout Android手机屏幕大小不一,有480x320, 640x360, 800x480…… 怎样才能让Application自动适应不同的屏幕呢?...其实很简单,只需要在res目录下创建不同的layout文件夹,比如:layout-640x360、layout-800x480……所有的layout文件在编译之后都会写入R.Java里,而系统会根据屏幕的大小自己选择合适的

    71320

    android更新ui的方式_android ui界面模板

    /apk/res/android “> 1.通知条目高度的修改:上面的65.0sp和64.0sp就是高度 2.通知条目下面一般都有一条白线, 透明方法: ①drawable-mdpi文件夹内 divider_horizontal_light_opaque...,… ——————————–分割线—————————————– 2.status_bar_icon.xml的修改 这里有关于状态栏高度和图标的修改: 状态栏高度和状态栏图标大小修改: 这些在框架里面改,...反编译framework-res.apk找到res/values/dimens.xml 状态栏高度:status_bar_height 状态栏图标大小:status_bar_icon_size …………...android:textSize=”19.0dip”是字体大小。android:textColor=”#ff33b5e5是字体颜色。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    70930

    今日头条屏幕适配方案落地研究

    前期,由于公司支持的平板款式单一,只需要做几款平板的适配即可,选用了 smalledtWidth(最小宽度)适配,但是这个方案在增加新屏幕时且原 dimens 文件无法很好适配时,就需要增加新屏幕的最小宽度...dimens 文件了,比较麻烦而且会增加项目大小(虽然只是几个文件),而且这种屏幕适配极度依赖设备的屏幕密度,叫density。...这是我故意的,中文是设备原始参数,英文是根据今日头条方案原理计算的。因为,今日头条的目的是所有设备的显示效果一致。但是设备的分辨率是不同的,怎么显示一致呢?简单述之,就是缩放,按宽度缩放的。...删除所有适配 smallestWidth 的dimens 文件夹,只保留dp 值是1:1 的 dimens 文件即可; 不想删除亦可,将所有的 dimens 文件都覆盖成 dp 值是1:1 的 dimens...文件即可 优缺点 优点 使用成本非常低,操作非常简单,使用该方案无需增加dimens 文件,修改代码,完虐其他屏幕适配方案 侵入性非常低,切换几乎瞬间完成,试错成本接近为0 修改的 density 是全局的

    1.5K50

    Android UI优化全解析

    所以我们需要在这之中找到平衡点,有的时候,UI简单并且要求高性能的前提下,我们可以试试用这样的方法,即用java代码代替XmL代码。...这是系统自带的适配单位,dp是基于屏幕物理分辨率一个抽象的单位,用于说明与密度无关的尺寸和位置。所以它能在不同分辨率的手机上有相对大小的适配性。计算公式是:px=dp * (dpi/160)。...比如1920x1080的手机就一定要找到1920x1080的限定符,否则就只能用统一的默认的dimens文件了。 所以容错性太低,不推荐。 smallestWidth适配方案。...当然这种重复性工作肯定不需要我们自己手动去实现,有专门的插件可以生成相应的文件和文件夹,这里也推荐一个:https://github.com/ladingwu/dimens_sw 今日头条适配方案。...使用功能强大且灵活的API可以实现复杂的界面效果。 支持插件:使用插件可以访问平台本地API,如相机,蓝牙,WIFI等等。

    1.2K40
    领券