android在java代码中处理像素适配和国际化适配的问题
来源:互联网 发布:知名网络集成商有哪些? 编辑:程序博客网 时间:2024/06/03 14:37
首先解释下文章标题:android在处理国际化适配或者机型适配时有自己的逻辑,利用res里面的文件夹处理这种变化,比如values中存放默认的资源(英文资源),values-zh-rCN中存放中文资源,values-es-rES中存放西班牙语资源,又或者是xml中存放默认的英文资源,xml-zh-rCN存放中文资源,xml-es-rES存放西班牙语资源,这样的机制在大部分情况下都可以处理各种问题,只需要在xml文件中引用资源id,android系统会自动处理。
但是本篇文章说的是上述android机制处理不了的情况,如果你的xml规定比较严格,或者不方便修改,或者代码耦合性太高,总之就是各种意外的情况导致你会想到如何在java代码中动态的控制这些View的属性,同时还需要满足适配的需求,这就是我要说的内容:
首先需要在value文件夹下的dimens.xml中的resources的子资源中添加如下代码:
<item name="container_left" format="float" type="dimen">474</item>然后你就可以在其他国际化资源中添加相同的内容了,只不过是对应的值不同。
比如在value-zh-rCN文件夹下的dimens.xml中的resources的子资源中添加:
<item name="container_left" format="float" type="dimen">324</item>其余类似。然后就就是在java代码中编写相匹配的代码了:ViewGroup container = getContainer();//container就是控件ViewGroup.LayoutParams containerParams = container.getLayoutParams();TypedValue outValue = new TypedValue();mContext.getResources().getValue(R.dimen.container_left, outValue, true);//mContext是自己传的context对象containerParams.width = (int) outValue.getFloat();container.setLayoutParams(containerParams);另外为了更容易理解,我把xml也贴上:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tab_container" android:layout_width="216dp" android:layout_height="match_parent" android:orientation="vertical"></LinearLayout>就是说可以在java代码中动态的控制这个控件的宽度。
0 0
- android在java代码中处理像素适配和国际化适配的问题
- Android 资源国际化问题(3): 不同像素的手机
- Android - 像素密度和屏幕适配
- Android国际化和屏幕适配
- Android应用的国际化、样式和主题、屏幕适配
- Android在java代码中实现图片屏幕适配
- android的国际化、屏幕适配
- Android适配之像素
- android像素密度适配
- android中关于像素的问题
- android 图片格式和像素引发的问题
- Android 国际化 语言适配
- 在代码中获取屏幕像素和屏幕密度
- 图像处理中像素点的问题:unsigned char 和 char
- Spring在代码中国际化
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- Android中布局的像素和单位
- 在Java代码中使用JSF配置的国际化资源文件
- 关于eclipse的快捷键
- OX操作小结
- hive经典例子
- NIO 入门 实例
- 安卓实现点击两次返回后退出程序
- android在java代码中处理像素适配和国际化适配的问题
- Ubuntu之XX-NET详细教程
- Impala invalidate metadata详细使用方法说明
- Apache与Tomcat 区别联系
- Eclipse中禁用JS验证
- poj 3070(矩阵快速幂)
- Mediaproxy 与 Rtpproxy
- 算法导论第二集
- linux下错误的捕获:errno和strerror的使用