(13)[Xamarin.Android] 不同分辨率下的图片使用概论
原文 [Xamarin.Android] 不同分辨率下的图片使用概论
设计Android App的时候,其尺寸众多也是一个挑战之一。要针对不同尺寸设计Android App时,就要先来了一下dpi(dots per inch,每一英吋的点数量) 与ppi(pixel per square inch,每平方英吋的像素量)计算方式。这一篇研究就来讨论一下在设计Android APP,如何因应不同的尺寸来作呈现。

*假设有一只屏幕规格为3吋而分辨率为(240X320)的手机,那我们就可以推算出它的ppi值, √240⌃2+320⌃2/3=133,所以我们可以得到这个手机的ppi值是133。


res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density

36x36 for low-density
48x48 for medium-density
72x72 for high-density
96x96 for extra high-density
var dp = Resources.DisplayMetrics.Density;
Console.WriteLine ("density = "+ dp);
float scale = getApplicationContext().getResources().getDisplayMetrics().density;
0.75 means low density
1.0 means standard (medium) density
1.5 means high (large) density
2.0 means extra high density

res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
〈supports-screens android:resizeable=["true"| "false"]
android:smallScreens=["true" | "false"]
android:normalScreens=["true" | "false"]
android:largeScreens=["true" | "false"]
android:xlargeScreens=["true" | "false"]
android:anyDensity=["true" | "false"]
android:requiresSmallestWidthDp="integer"
android:compatibleWidthLimitDp="integer"
android:largestWidthLimitDp="integer"/>




- 1.第一个文字卷标上面会在不同的View上显示[手机],[平板],[大平板]用来分辨我们现在到底加载了那一个Layout进来。
- 2.第二个文字卷标是要显示出目前Device的Density,来看看Android目前判断出来的Device Density值。
- 3.而ImageView是用来加载图片,这里Android系统会依据不同的Device分辨率来加载相对应的图片。


- - 分辨率(480x800,240dpi )的Nexus One。
- - 分辨率(1024x600,160dpi)的WSVGA 7.0 Tablet。
- - 分辨率(1024x800,160dpi)的WXGA 10.1 Tablet。
- - 分辨率(1080x1776,480dpi)的Htc new one实机。




- supports-screenssupports-screens
http://developer.android.com/guide/topics/manifest/supports-screens-element.html - Devices and Displays
http://developer.android.com/design/style/devices-displays.html - Supporting Multiple Screens
http://developer.android.com/guide/practices/screens_support.html - Devices and Displays
http://developer.android.com/design/style/devices-displays.html - Part 4 - Creating Resources for Varying Screens
http://docs.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_4_-_creating_resources_for_varying_screens/ - List of displays by pixel density
http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density
(13)[Xamarin.Android] 不同分辨率下的图片使用概论的更多相关文章
- Android各分辨率定义的图片规格
我们定义的app图片规格 app图标需要分iphone和android两套 iphone: 名称 Iphone4 Iphone5 手机尺寸 960*640(高*宽) 1136*640 (高*宽) 电池 ...
- Android 不同分辨率下调整界面
Android Settings中有修改Disaply size的界面,通过修改Display size,能够修改屏幕分辨率. 由于修改了屏幕分辨率,有可能导致同一界面在不同的分辨率下显示出错(内容显 ...
- android将drawable下的图片转换成bitmap
将drawable下的图片转换成bitmap 1. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xx ...
- Android 将drawable下的图片转换成bitmap、Drawable
将drawable下的图片转换成bitmap . Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xxx ...
- Xamarin.Android 在VS下调试时提示 In mgmain JNI_OnLoad 程序“Mono”已退出 解决办法
原因是使用了破解版的 Xamarin,调试时不能使用共享库
- 62.Android之各分辨率定义的图片规格
转载:http://www.nljb.net/default/Android%E4%B9%8B%E5%90%84%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%9A%E4%B9%8 ...
- Xamarin. Android实现下拉刷新功能
PS:发现文章被其他网站或者博客抓取后发表为原创了,给图片加了个水印 下拉刷新功能在安卓和iOS中非常常见,一般实现这样的功能都是直接使用第三方的库,网上能找到很多这样的开源库.然而在Xamarin. ...
- Android复制assets目录下的图片到内存
转自:http://www.chenwg.com/android/android%E5%A4%8D%E5%88%B6assets%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84 ...
- Android应用Icon大小在不同分辨率下定义
http://www.ard9.com/gsjj/204.html 对于Android平台来说,不同分辨率下Icon的大小设计有着不同的要求,对于目前主流的 HDPI即WVGA级别来说,通常hdpi的 ...
随机推荐
- Spring随笔 - 事务传播行为
Spring定义了7种不同的事务传播行为: PROPAGATION_MANDATORY:表示该方法必须在事务中运行.如果当前事务不存在,则会抛出一个异常. PROPAGATION_NESTED:表示如 ...
- js cookies存取删操作实例
//写cookies函数 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days = 30; //此 cookie 将被保存 ...
- Linux下去掉Windows文件的^M
Windows下文件换行符为\r\n 而Linux下文件的换行为\n 因此在Linux下可以使用vim编辑文件 使用全文替换命令 :%s/\r//g 将\r全部替换掉 也可以在Linux使用dos ...
- VB生成xml
Dim text As XmlText Dim doc As New XmlDocument '加入XML的声明段落 Dim node As XmlNode = doc.CreateXmlDeclar ...
- AIX 命令大全
http://www.ahinc.com/aix/general.htm http://web.mit.edu/javadev/packages/Acme/ http://jparsec.codeha ...
- openStack CI(Continuous interaction)/CD(Continuous delivery) Gerrit/Jenkins安装及集成,插件配置
preFace: CI/CD practice part contains the following action items and fields of expertise: Gerrit ins ...
- linux学习之(六)-主机名、网络IP的配置与查看
设置Linux 本机IP有一个非常好用的命令就是setup命令,在Linux终端打入setup命令就会打开Linux配置窗口,如下图: . 在打开的窗口中通过上下键选择 Network config ...
- 2014ACM/ICPC亚洲区广州站 Song Jiang's rank list
欢迎参加——每周六晚的BestCoder(有米!) Song Jiang's rank list Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- jQuery学习笔记(一)——基础选择器、过滤选择器、表单选择器
$()就是jQuery中的函数,它的功能是获得()中指定的标签元素.如演示样例中$("p")会得到一组P标签元素,当中"p"表示CSS中的标签选择器.$()中的 ...
- Fix The thread xxx has exited with code 259 (0×103)
When run the test case in VS2013, you may encounter below problem After test case end, it will show ...