最新res目录讲解(drawable、layout、values等目录的分辨率和layout的横竖屏,以及values的多语言)

我们建好一个android 的项目后,默认的res下面 有drawable、layout、values等目录


1.drawable目录相关

启开一个新的Android专案后在res资料夹内会有

drawable-hdpi
drawable-mdpi

drawable-ldpi

drawable-xhdpi

drawable-xxhdpi

三个目录,所定义的dpi皆不同


一般來說,ldpi是120,mdpi是160,hdpi是240,xhdpi的dip是320,xxhdpi的是480。

xhdpi是Android 2.2才开始增加的分类;xlarge是Android 2.3才开始增加的分类; tvdip 则是最近的事。
此外
drawable-hdpi 对应的解析度为 WVGA (480x800),FWVGA (480x854),是放高解析度的图片
drawable-mdpi 对应的解析度为 HVGA (320x480),是放中等解析度的图片
drawable-ldpi 对应的解析度为 QVGA (240x320),是放低解析度的图片



Android系统会根据机器的解析度来分辨鉴定对应到相关的资料夹找出对应的图片,什么分辨率就使用对应的drawable下的目录;


2.layout目录相关

在android中要让手机自适应不同分辨率的手机,总的来说有三种方法:

1.一种是代码实现布局

2.一种是多个layout实现

3.最后是使用属性layout_weight来实现自适应多个分辨率,但是确定是如果布局较复杂,实现起来比较难控制,复杂。


---------1.普通情况

这里是说res目录当然是说的使用多个layout来自适应分辨率:

其实很简单,只需要在res目录下创建不同layout文件夹,比如layout-640x360,layout-800x480,所有layout文件在编译之后都会写入R.java里,而系统会根据屏幕大小自己选择合适layout进行使用。



----------2.设计到横屏竖屏时


屏幕方向:
横屏竖屏自动切换:
     可以在res目录下建立layout-port-800x600和layout-land两目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化时候系统会自动调用相应布局文件,避免一种布局文件无法满足两种屏幕显示问题。
不同分辨率横屏竖屏自动切换:
以800x600为例
可以在res目录下建立layout-port-800x600和layout-land-800x600两目录
不切换:
以下步骤是网上流传,不过我自己之前是通过图形化界面实现配置,算是殊途同归,有空我会把图片贴上来。
还要说明一点:每activity都有这属性screenOrientation,每activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一方向,不随手机方向转动而变化处理办法:
在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation="landscape"。
例如(landscape是横向,portrait是纵向):
Java代码:
&l

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值