当前位置:首页 » 安卓系统 » Android的标尺

Android的标尺

发布时间: 2022-01-13 23:11:23

① Android有没有人实现过刻度尺效果

得到刻度尺的值很简单,这需要你自定义一个view,然后在view的onTouch方法中去获取手指移动过程中的横坐标信息,然后用当前的横坐标坐标信息event.getX()减去刻度尺的0刻度的横坐标rulerStartX,得到刻度值rulerDistance = event.getX() - rulerStartX。这里获取的值的单位为像素,这需要和刻度尺的单位进行换算,这样就可以获取到当前的刻度值了。

② 设计师如何为Android应用标注尺寸

设计 Android 应用的最佳实践:
1. 画布大小定位 720 x 1280,72 dpi
2. 只使用偶数单位的尺寸,比如 96 px 的列表项高度,16 px 的边距,64 px 的图标边长
3. 只使用 24 pt,28 pt,36 pt 和 44 pt 的字体
4. 设计完成以后,所有尺寸的 px 值除以 2 作为 dp 数值交给工程师
5. 所有字体的 pt 值除以 2 作为 sp 数值交给工程师
6. 所有切图变成三份,分别是原始大小、缩小 1.5 倍,缩小 2 倍,分别作为 xhdpi,hdpi,mdpi 的资源交给工程师

如果你还有好奇心,可以继续往下看这个结论是怎么来的。
相信你已经看过这篇文档中关于 Android 中各种尺寸单位的介绍,没看过的最好看一下

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

在 Android 应用设计中涉及到的单位都是密度无关像素(Density-independent Pixels),这个说法太拗口了,通俗点讲,Android 应用设计中只用物理尺寸,类似厘米,英寸这种单位,不用像素。之所以这样,是由于像素在手机领域说不清楚问题,比方说规定列表项高度是 48 px,在 HTC C510e 上看起来就不错,但在三星 Galaxy SIII 上看起来就会非常矮,导致很难看,这是因为这两个机器的屏幕的 dpi 相差很大,前一个大约 160 dpi,后一个大约 320 dpi。这就是手机屏幕不同带来的问题,如果不考虑平板,不同主要是密度不同,而不是尺寸不同,也不是分辨率不同,给设计带来困扰的根本是屏幕密度不同。不幸的是,很少人对这个有概念,通常介绍手机,会说屏幕尺寸,3.5
寸还是 4 寸,会说分辨率,480 x 800 还是 720 x 1280,但通常不会介绍屏幕密度是多少。其实通过尺寸和分辨率可以算出密度来,dpi 的 定义是 dot per inch,即每英寸的像素点,把分辨率和尺寸除一除就能得到。一个不确切的分法是,720 x 1280 的手机很可能接近 320 dpi (Android 里的 xhdpi),480 x 800 的手机很可能接近 240 dpi (Android 里的 hdpi)。

Android 选择的单位是 dp 和 sp,dp 的定义是“在 160 dpi 的屏幕上,1 dp 大约等于 1 px”。这个说法也很拗口,简单点说,1 dp ≈ 1 / 160 inch,他就是物理界的一长度单位。用这个单位设计就统一了,比方说规定列表项高度是 48 dp,在所有手机上看起来都差不多是 48 / 160 inch 那么高,虽然在不同手机上它对应了不一样多的像素点,但这个转换是 Android 手机完成的,每个 Android 手机都得知道在我这 1 dp 对应多少像素。sp 也是同样解释,18
sp 的字在所有手机上看起来应该都差不多大(自己改了字体大小设置的除外)。看到这里,可能有人会想,那岂不是不同手机显示的内容不同。确实是这样,同样一个列表,在 A 手机上只能显示五行,但在 B 个手机上就能显示六行;还是这个列表,在 A 手机上文字左边的留白就显得没有 B 手机多。

铺陈完了,逐条解释开始的最佳实践。

设计师在设计的时候是用不了 dp 的,他不可能拖一个 48 x 48 dp 的框,不可能设置一个 8 dp 的边距,Photoshop 里全是 px。于是我们就只有挑一个特定密度的屏幕,在这个特定密度的屏幕上,dp 和 px 的关系是确定,把设计做了,再把 px 转换成 dp 给工程师。另外有一点是,长度可以乘除一下就解决,图片是不能除的,图片必须手动缩放。

我们挑哪一个密度好呢?答案是挑密度最大的,因为图片缩小比放大好,放大会失真,选 320 dpi 作为目标屏幕,为其他屏幕提供图片时,只需要缩小。而 320 dpi 屏幕的分辨率最常见的是 720 x 1280,以这个尺寸作为画布尺寸,是最带感的,这样的设计稿就和应用在最多数的 320 dpi 的机器上运行起来的样子一样。当然你可以选其他画布大小,但再大也不见得方便,这个大小也够施展了。72 dpi 是 Photoshop 的默认设置,不要改就好,这个数字和后面的换算有关系。

字体的问题,Android 4.0 以后的设计规范中建议只使用四种字号,分别是 12 sp,14 sp,18 sp 和 22 sp,这也是 Android framework 用到的全部字号。我们需要找到在这个画布上,这些字号和 pt 的对应关系,以及,px 和 dp 的对应关系。有两种算法

  • 算法一
    根据 dp 的定义“在 160 dpi 的屏幕上,1 dp 大约等于 1 px”,那么在 320 dpi 的屏幕上,1 dp 约等于 2 px,我们就是为 320 dpi 做的设计,所有 px 值除以 2 就是 dp 值。字体略复杂一点,1 pt = 1 / 72 inch,即在 72 dpi 的画布上,1 pt = 1 px,我们的画布就是 72 dpi,又有 1 sp 约等于 2 px(同 dp 的定义),所以 1 sp = 2 pt,所有 pt 值除以 2 就是 sp 值。

  • 算法二
    可以想象是把一个 320 dpi 的手机屏幕放大到了 Photoshop 里,放大倍数是 320 / 72,即手机上的 1 dp,在画布上就是 320 / 72 dp,而 1 dp = 1 / 160 inch,所以在画布上就是 2 / 72 inch,而画布是 72 dpi,所以在画布上就是 2 px,即手机上的 1 dp 对应画布上的 2 px。字体的计算一样,只是多一个在 72 dpi 上,1 pt = 1 px 的转换。

  • 至此,都算清楚了,在这个画布上,px 到 dp,pt 到 sp 都是除以 2 的关系。

    最后,给 320 dpi 做的图片,到 240 dpi,160 dpi 上就要分别缩小 1.5 倍和缩小 2 倍。120 dpi 的机器已经很罕见,可以不考虑了

③ android studio主界面 刚安装的studio 基本蒙圈,为什么手机界面是这样的,为什么是是标尺而不是手机

应该是最新的显示,只是一开始不习惯,我倒觉得这样的界面更适合设计界面,可以看到尺寸等参数,你看到左上角那个格子的按钮是否可以点击切换

④ Android 通过配置,设置margin-Left和margin-Top相对的距离

下面推荐三种实现方式:

  1. 代码实现 先计算屏幕宽高 动态设置控件margin属性

  2. 布局实现 利用LinearLayout的layout_weight属性实现

  3. 借助google官方的百分比库(percent)

比较下三种实现方式优劣

第一种实现较简单 但是比较麻烦 复用性不高 如果是动态的比例放置控件推荐使用

第二种在布局中写 于代码解耦 但容易造成布局冗余 影响效率

第三种适配性好 同时兼容平板 如果对适配要求比较高 可以考虑使用

⑤ android中有什么和GetTickCount类似的的函数吗

SystemClock.uptimeMillis().
GetTickCount是函数。GetTickCount返回(retrieve)从操作系统启动所经过(elapsed)的毫秒数,它的返回值是DWORD。

⑥ android中horizontal和vertical的区别

一些线性布局的属性orientation需要设置的值就是horizontal、vertical

horizontal 布局内的控件横向排列。

vertical 布局内控件纵向排列。

⑦ android有没有人实现刻度标尺

应该有的吧,看到很多软件都会有这个界面

⑧ android屏幕坐标怎么算和分辨率有关系的吗

屏幕坐标都是固定的,手机竖屏左上角坐标为(0,0)。
(0 ,0),(Xmax,0 )

(Ymax,0),(Xmax,Ymax)
屏幕分辨率是屏幕图像的精密度,是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。

⑨ android pad,在设计UI时一般是按照哪个标准尺寸来设计并切图的呢

不行的,pad只能是你按照要求的分辨率去重新出个程序。
如果你觉得1024 和1280的比例差不多,那就可以用比例的方式去做界面,但是图一定要重新出,都放在nodpi中,否则480的图放在1024上肯定拉伸加失真。
用比例的方式,就是都用fillparent,然后用layout_weight来调权重,这个可以网络搜。

热点内容
微信如何评论图片安卓 发布:2024-11-14 11:56:34 浏览:848
游戏遍地脚本 发布:2024-11-14 11:56:32 浏览:759
怎样编译一个背单词系统 发布:2024-11-14 11:54:47 浏览:176
传奇这个配置怎么样 发布:2024-11-14 11:48:25 浏览:376
配置横向防火墙是什么意思 发布:2024-11-14 11:42:34 浏览:731
手机缓存文件能打开吗 发布:2024-11-14 11:41:00 浏览:492
存储系统集成 发布:2024-11-14 11:14:54 浏览:584
云服务器搭建方法图解 发布:2024-11-14 11:14:53 浏览:309
挑战服务器吃鸡是什么 发布:2024-11-14 10:59:07 浏览:932
自缴社保算法 发布:2024-11-14 10:43:53 浏览:554