The NoteBook of EricKong

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  610 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

屏幕大小

1、不同的layout

     Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如:layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。

2、hdpi、mdpi、ldpi

     前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。

drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:

  1. drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
  2. drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
  3. drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。

屏幕方向

1、横屏竖屏自动切换

     可以在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。

2、禁用自动切换

只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。

  • Android:screenOrientation="landscape" //是限制此页面横屏显示
  • Android:screenOrientation="portrait"     //是限制此页面数竖屏显示

字体自适应大小

方法1:

首先根据不同分辨率获取不同字体大小。
在RES里创建
values-480x320/strings.xml 里面设置<dimenname="Text_size">30px</dimen>

values-800x400/strings.xml 里面设置<dimenname="Text_size">30px</dimen>

分别代表480X320 和 800X400分辨率情况下 字号为30px和40px;

在java文件中这样调用

int sizeOfText = (int)this.getResources().getDimension(R.dimen.Text_size);

方法2:

在视图的 onsizechanged里获取视图宽度,一般情况下默认宽度是320,所以计算一个缩放比率rate = (float)w/320   w是实际宽度
然后在设置字体尺寸时 paint.setTextSize((int)(8*rate)); 
 8是在分辨率宽为320 下需要设置的字体大小实际字体大小 = 默认字体大小x  rate


posted on 2012-04-20 15:12 Eric_jiang 阅读(2543) 评论(2)  编辑  收藏

Feedback

# 广交会翻译员 2012-04-20 15:14 Eric_jiang
广州葡萄牙翻译公司专用的,葡语翻译员跟踪器, android 程序 http://www.puyufanyi.com/tail.zip 桑巴葡语翻译工作室出品  回复  更多评论
  

# interprete e tradutora de portugues-mandarim 2012-04-21 18:11 Eric_jiang

Tradutora e intérprete de português-chinês-inglês na China

So intérprete de português-chinês em tempo parcial. Nativa de Guangzhou,China, cidade perta de Shenzhen, Hong Kong, Dongguan, Foshan. Tenho experiência como intérprete de acompanhamento na feira de cantão, feira eletrônica de Hongkong, em campo de medicina, auto peças de carro e produtos eletrõnicos, etc.

Se vier à China e precisar de intérprete é só entra em contado comingo:

msn:elianejiang@hotmail.com

email:elianejiang@hotmail.com

tel :+86 15202095679

skype:elianejiang

Também ofereço serviço de traduçao de texto, interpretação de turísmo, serviço de booking hotél,etc.
  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: