国际化和资源自适应
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于相同dpi、但尺寸不一样的设备,可以通过 layout文件控制各种资源的布局。Google将设备分为 small(2~3英寸)、normal(4英寸左右)、large(5~ 7英寸)、xlarge(7英寸以上)
国际化和资源自适应
自适应屏幕大小
二:hdpi、mdpi、ldpi
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
4. ui设计中将一些通用属性解耦到style theme中来, 利于修改。
5. 对于drawable资源按dpi不同配几套对应drawables ,一般可以选最大和最小的。
自适应屏幕方向
国际化和资源自适应
ຫໍສະໝຸດ Baidu
横屏竖屏自动切换:
在res目录下建立layout-port和layout-land两个目录, 里面分别放置竖屏和横屏两种布局文件手机屏幕方向变化 的时候系统会自动调用相应的布局文件,避免一种布局文 件无法满足两种屏幕显示的问题。
屏幕自适应
国际化和资源自适应
1、细说layout_weight(见备注)
目前最为推荐的Android多屏幕自适应解决方案。 该属性的作用是决定控件在其父布局中的显示权重, 一般用于线性布局中。其值越小,则对应的layout_width 或layout_height的优先级就越高,一般横向布局中,决定 的是layout_width的优先级;纵向布局中,决定的是 layout_height的优先级。 现在最为流行的0px设值法。看似让人难以理解的 layout_height=0px的写法,结合layout_weight,却可以 使控件成正比例显示,轻松解决了当前Android开发最为头 疼的碎片化问题之一。
drawable-nodpi-1280×800 drawable-nodpi-800×480
自适应屏幕大小
国际化和资源自适应
1. 使用硬件无关度量单位 dp(dip);
2. 多使用RelativeLayout来进行ui设计;
3. 合理利用ScollView或者HorizonalScollView来包裹 固定大小组件;
环境 英语 美国英文 中文
文件夹命名 values-en values-en-rUS values-zh
若某一个语言环境没有在项目中定义语言环境,那么也会使用 values 下的资源。
国际化和资源自适应
为Android提供国际化资源
• 图片国际化 • 在 res 下新建 drawable-zh 文件夹,存放中文环境下的图
屏幕自适应
国际化和资源自适应
二、自定义尺寸法
如图自己定义了两套尺寸文件。由于每一套界面都要 写一套,所以有些同学可能觉着不太好,不过这个写起 来比较简单,而且以后也不用改,所以有时候也可以考 虑用一下!
国际化和资源自适应
屏幕自适应
三、在java代码中设置宽高度
官方推荐使用xml的方式写布局。不过在这不会像 Swing那样写那么多麻烦的布局代码,因为只是在代码中重 新设定控件的宽高度而已,其他属性依然是交给xml布局文 件的。虽然我不赞成这样的方法,但确确实实也是解决屏幕 自适应问题的方案之一,而且很简单。
屏幕自适应
国际化和资源自适应
四、多布局
做为最后的方法,也是最后一个才会考虑的方法, 那就是为不同的尺寸界面单独写布局。不到万不得已不 要用这个方法,需要说明的是,横竖屏切换使用不同布 局也是用这个方法解决的。
国际化和资源自适应
主要内容
1.国际化 2.自适应屏幕方向和大小 3.屏幕自适应解决方法
国际化和资源自适应
国际化和资源自适应
为Android提供国际化资源
1.为Android提供国际化资源,主要原因是Android 独特的资源管理 方式。代码可以不直接和资源发生关系。Android 中,通常通过 R 文件 提供的索引来间接的引用某一个资源。而维护资源索引和真正的资源之 间的关系,却是 Android 系统来做的。 • Android 中要实现国际化比较简单。 • 字符串国际化:在res文件夹下新建对应语言的values 文件夹,
片,新建 drawable-en 作为英语环境下的图片;
• 在 res 目录下自动创建三个默认语言环境的文件夹:
– drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
– drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480) – drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
• Android 系统会根据手机的分辨率,而自动从不同的对应的 某一个文件夹下去加载图片。
自适应屏幕大小
国际化和资源自适应
屏幕大小:
一:layout大小多样
Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
只需要在res目录下创建不同的layout文件夹,比如 layout-640x360,layout-800x480,所有的layout文件在编 译之后都会写入R.java里,而系统会根据屏幕的大小自己 选择合适的layout进行使用。
首先要做获取当前屏幕的宽高度,因为这个在后面要 用到,写两个静态变量用来保存当前屏幕的宽高度: public class Constant {
public static int displayWidth; //屏幕宽度 public static int displayHeight; //屏幕高度
}
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854);
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480); (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应 的图片。 在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根 据需求均存放不同版本图片。 当然遇到一些特殊的屏幕,这时候可以自己定义drawable的大 小了: 比如:drawable-nodpi-1024×600
国际化和资源自适应
自适应屏幕大小
二:hdpi、mdpi、ldpi
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
4. ui设计中将一些通用属性解耦到style theme中来, 利于修改。
5. 对于drawable资源按dpi不同配几套对应drawables ,一般可以选最大和最小的。
自适应屏幕方向
国际化和资源自适应
ຫໍສະໝຸດ Baidu
横屏竖屏自动切换:
在res目录下建立layout-port和layout-land两个目录, 里面分别放置竖屏和横屏两种布局文件手机屏幕方向变化 的时候系统会自动调用相应的布局文件,避免一种布局文 件无法满足两种屏幕显示的问题。
屏幕自适应
国际化和资源自适应
1、细说layout_weight(见备注)
目前最为推荐的Android多屏幕自适应解决方案。 该属性的作用是决定控件在其父布局中的显示权重, 一般用于线性布局中。其值越小,则对应的layout_width 或layout_height的优先级就越高,一般横向布局中,决定 的是layout_width的优先级;纵向布局中,决定的是 layout_height的优先级。 现在最为流行的0px设值法。看似让人难以理解的 layout_height=0px的写法,结合layout_weight,却可以 使控件成正比例显示,轻松解决了当前Android开发最为头 疼的碎片化问题之一。
drawable-nodpi-1280×800 drawable-nodpi-800×480
自适应屏幕大小
国际化和资源自适应
1. 使用硬件无关度量单位 dp(dip);
2. 多使用RelativeLayout来进行ui设计;
3. 合理利用ScollView或者HorizonalScollView来包裹 固定大小组件;
环境 英语 美国英文 中文
文件夹命名 values-en values-en-rUS values-zh
若某一个语言环境没有在项目中定义语言环境,那么也会使用 values 下的资源。
国际化和资源自适应
为Android提供国际化资源
• 图片国际化 • 在 res 下新建 drawable-zh 文件夹,存放中文环境下的图
屏幕自适应
国际化和资源自适应
二、自定义尺寸法
如图自己定义了两套尺寸文件。由于每一套界面都要 写一套,所以有些同学可能觉着不太好,不过这个写起 来比较简单,而且以后也不用改,所以有时候也可以考 虑用一下!
国际化和资源自适应
屏幕自适应
三、在java代码中设置宽高度
官方推荐使用xml的方式写布局。不过在这不会像 Swing那样写那么多麻烦的布局代码,因为只是在代码中重 新设定控件的宽高度而已,其他属性依然是交给xml布局文 件的。虽然我不赞成这样的方法,但确确实实也是解决屏幕 自适应问题的方案之一,而且很简单。
屏幕自适应
国际化和资源自适应
四、多布局
做为最后的方法,也是最后一个才会考虑的方法, 那就是为不同的尺寸界面单独写布局。不到万不得已不 要用这个方法,需要说明的是,横竖屏切换使用不同布 局也是用这个方法解决的。
国际化和资源自适应
主要内容
1.国际化 2.自适应屏幕方向和大小 3.屏幕自适应解决方法
国际化和资源自适应
国际化和资源自适应
为Android提供国际化资源
1.为Android提供国际化资源,主要原因是Android 独特的资源管理 方式。代码可以不直接和资源发生关系。Android 中,通常通过 R 文件 提供的索引来间接的引用某一个资源。而维护资源索引和真正的资源之 间的关系,却是 Android 系统来做的。 • Android 中要实现国际化比较简单。 • 字符串国际化:在res文件夹下新建对应语言的values 文件夹,
片,新建 drawable-en 作为英语环境下的图片;
• 在 res 目录下自动创建三个默认语言环境的文件夹:
– drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
– drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480) – drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
• Android 系统会根据手机的分辨率,而自动从不同的对应的 某一个文件夹下去加载图片。
自适应屏幕大小
国际化和资源自适应
屏幕大小:
一:layout大小多样
Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
只需要在res目录下创建不同的layout文件夹,比如 layout-640x360,layout-800x480,所有的layout文件在编 译之后都会写入R.java里,而系统会根据屏幕的大小自己 选择合适的layout进行使用。
首先要做获取当前屏幕的宽高度,因为这个在后面要 用到,写两个静态变量用来保存当前屏幕的宽高度: public class Constant {
public static int displayWidth; //屏幕宽度 public static int displayHeight; //屏幕高度
}
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854);
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480); (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应 的图片。 在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根 据需求均存放不同版本图片。 当然遇到一些特殊的屏幕,这时候可以自己定义drawable的大 小了: 比如:drawable-nodpi-1024×600