android适配分辨率(hdpi,mdpi,ldpi)及横竖屏

http://jianxiaza.blog.163.com/blog/static/87685628201131471635563/

**MUST HAVE ROOT ACCESS**

Open Root Explorer
- Open System folder
- Press and hold the "build.prop" file until dialog pops up and scroll down to "Edit with Text Editor"
- Scroll down about halfway and change the dpi from 200 to 180 (going to 160 mucks up the notification bar)
- When finished, hit the menu button and select "Save and Exit"
Hold Power button to shutdown and restart or shut down via the dialog
Boot up the tablet, wait for everything to load up
Then hold Menu button until calibration shows up
- Calibrate normally
Reboot again
All set!

 

 

修改 /system/ build.prop 文件中关于 lcd dpi 配置那一行

 
重启即可生效
 
直接用 Root Explorer (R.E.文件管理器)以文本编辑器打开那个 build.prop 就可以了
                                        就是这一行: ro.sf.lcd_density=180 <--- 这个是我现在的 dpi

 

 from

 :http://www.slatedroid.com/topic/16948-herotab-mid816-custom-full-images-gingerbread-231/page__st__60

参考:

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

二:hdpi、mdpi、ldpi

在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
  drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
  (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480×800),FWVGA (480×854)
  (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320×480)
  (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240×320)
  系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
  在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。

三:横屏竖屏

以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把图片贴上来。
还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:

在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation=”landscape”。
例如(landscape是横向,portrait是纵向):


对于Android游戏开发我们不得不像iPhone那样思考兼容Android平板电脑,对于苹果要考虑iPad、iPhone 3GS和iPhone 4等屏幕之间的兼容性,对于几乎所有的分辨率总结了大约超过20中粉笔阿女郎的大小和对应关系,对于开发Android游戏而言可以考虑到未来的3.0以 及很多平板电脑的需要。

常规的我们可能只考虑QVGA,HVGA,WVGA,FWVGA和DVGA,但是抛去了手机不谈,可能平板使用类似WSVGA的1024×576以及WXGA的1280×768等等。
QVGA = 320 * 240;
WQVGA = 320 * 480;
WQVGA2 = 400 * 240;
WQVGA3 = 432 * 240;
HVGA = 480 * 320;
VGA = 640 * 480;
WVGA = 800 * 480;
WVGA2 = 768 * 480;
FWVGA = 854 * 480;
DVGA = 960 * 640;
PAL = 576 * 520;
NTSC = 486 * 440;
SVGA = 800 * 600;
WSVGA [...]


 

http://www.slatedroid.com/topic/9139-theme-status-bar-wip-update-1105-download-available/page__p__81054__hl__mdpi__fromsearch__1#entry81054

http://lostghoul.blog.163.com/blog/static/11172199920112842738688/

http://blog.csdn.net/echoff/archive/2010/10/18/5948387.aspx

http://apps.hi.baidu.com/share/detail/31681659

 

修改方法如下:
 
1)修改Launcher.java 中主屏数目定义。
 
     static final int SCREEN_COUNT = 7;
     static final int DEFAULT_SCREEN = 3;
 
 
 
2)调整Launcher.xml 中主屏布局,增加cell 数目到7。
 
     <include android:id="@+id/cell6" layout="@layout/workspace_screen" />
     <include android:id="@+id/cell7" layout="@layout/workspace_screen" />
 
 
 
3)增加前后一屏指示图标相关资源(即屏幕下方的左右6个圆点,以前只有4个)。
 
    a. 修改home_arrows_left.xml,增加左边2个圆点。
 
    b. 修改home_arrows_right.xml,增加右边2个圆点。
 
    c. 新增资源文件:
 
        home_arrows_left_5.xml
        home_arrows_left_6.xml
        home_arrows_right_5.xml
        home_arrows_right_6.xml
        ic_home_arrows_5_focus.png
        ic_home_arrows_5_focus_right.png
        ic_home_arrows_5_normal.png
        ic_home_arrows_5_normal_right.png
        ic_home_arrows_5_press.png
        ic_home_arrows_5_press_right.png
        ic_home_arrows_6_focus.png
        ic_home_arrows_6_focus_right.png
        ic_home_arrows_6_normal_right.png
        ic_home_arrows_6_press.png
        ic_home_arrows_6_press_right.png
        ic_home_arrows_6_normal.png
 
 
 
修改过程中遇到的问题:
 
1)Launcher.apk 无法安装:
 
    因为Launcher.apk  是android内置应用,他的签名和我自己用Eclipse 编译的Launcher.apk 不同,导致无法安装。
 
 
 
    于是先卸载android里面的Launcher.apk :
 
    adb remount

    adb uninstall Launcher.apk
 
    结果失败。。。
 
 
 
    继续暴力卸载:
 
    adb remount

    adb shell
 
    #cd system/app
 
    #rm Launcher.apk
 
    #exit
 
    adb  uninstall com.android.launcher
 
    卸载成功,然后run我自己的Launcher。
 
 
 
2)导入图片资源:
 
    在android1.5 版本中图片资源默认放在drawable 中,但android2.0 以后的版本中图片资源还可以放到drawable-hdpi、drawable-ldpi、drawable-mdpi等目录中。
 
 
 
    上网查询结果:
 
    “hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
 
    mdpi里面主要放中等分辨率的图片,如HVGA (320x480)
 
    ldpi里面主要放低分辨率的图片,如QVGA (240x320)
 
    系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片”
 
 
 
    保险起见,我把每个目录各放了一份,运行后竟发现图片不对。不仅图片的色度不对,而且还被拉升了。。。
 
    于是把除了drawable-hdpi以外的其他目录中的资源删除再运行,这次对了。上网查了半天不知道其中原因。
 
 
 
android2.2版本修改主屏数据比以往版本复杂:
 
    android2.2版本由于屏幕下方多了几个小圆点,用来指示当期是第几屏,而这几个小圆点是做到图片资源中的,所以我们要增加主屏数目就必须增加小圆点的数目,这就得额外增加资源文件。导致我们不能像android以前版本一样,动态调整主屏数目。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值