Android developer fight-2

android资源(注意不能将资源文件直接保存到res 目录,会导致编译出错)
对于应用强烈建议将资源与系统分离,包括代码里的字符串
res/row 系统不会优化的一切资源,原始文件保存,以原始input stream打开,使用资源ID调用Resources,openRawResource();
res/drowable  可绘制资源
res/animator  属性动画
res/anim  渐变动画

res/values 可放置多种文件:约定文件夹  array.xml 放资源数组 color.xml 放颜色值  dimens.xml放尺寸 string.xml放字符串 style.xml放样式

res/xml 各种xml配置文件,运行时通过调用Resources.getXml()读取。

为一组资源指定特定的资源配置符 文件夹命名格式:<resource_name>-<config_qualifier> 如: layout-sw600dp

配置限定符(限定符可追加多个用“-”分隔,追加多个时要按照表1顺序放置,不然将会被忽略

表1 配置限定符
配置限定符值说明
MCC和MNC如:mcc310-mnc004

移动国家代码(MCC)后跟SIM卡中的移动网络代码(MNC)例:mcc310 指美国的任意运营商mcc310-mnc004指美国Verizon公司;

如果使用无限电手机(GSM手机),则mcc,mnc值来自于SIM卡;

语言和区域如:en-rUS

前两个字母代表语言+r后两个字母代表地区

用户更改系统设置中的语言引起配置变化事件

布局方向ldrtl   ldltrldrtl布局从右到左  :要为应用启用从右到左的布局功能,必须将supportsRtl 设置为 "true",并将targetSdkVersion 设置为 17 或更高版本
smallestWidth

sw<N>dp

如:sw320dp

sw600dp

sw720dp

 
可用宽度w<N>dp 如:w720dp w1024dp等等指定资源应该使用的最小可用屏幕宽度,以 dp 为单位,
可用高度h<N>dp指定资源应该使用的最小可用屏幕高度,
屏幕尺寸small normal
large xlarge

:使用尺寸限定符并不表示资源仅适用于该尺寸的屏幕。 如果没有为备用资源提供最符合当前设备配置的限定符,则系统可能使用其中最合适的资源。

注意:如果所有资源均使用大于当前屏幕的尺寸限定符,则系统会使用这些资源,并且应用在运行时将会崩溃(例如,如果所有布局资源均用 xlarge 限定符标记,但设备是标准尺寸的屏幕)

屏幕纵横比long  nolonglong:宽屏 nolong:非宽屏 
圆形屏幕round  notroundnotround :矩形屏幕
屏幕方向land portport :纵向   land:横向
uI模式

car:车载手机座上显示

desk:桌面手机座上显示

television:电视机显示

appliance:无显示屏

watch:手表

如果用户将设备放入手机座中,它有可能在应用生命周期中发生改变。 可以使用 UiModeManager启用或禁用其中某些模式。
夜间模式night  notnight如果夜间模式停留在自动模式(默认),它有可能在应用生命周期中发生改变。在这种情况下,该模式会根据当天的时间进行调整。 可以使用 UiModeManager 启用或禁用此模式
屏幕像素密度(dpi)ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi nodpi tvdpi anydpi:使用密度限定符并不表示资源仅适用于该密度的屏幕。 如果没有为备用资源提供最符合当前设备配置的限定符,则系统可能使用其中最匹配的资源。
触摸屏类型notouch  finger 
键盘可用性

keysexposed

keyshidden

keyssoft

keysexposed:具有可用键盘,无论软硬键盘

keyshidden:硬键盘隐藏,且未启动软键盘

keyssoft:启用软件盘

如果只提供keysexposed资源未提供keyssoft资源,只要系统启用软件盘就会使用keysexposed,忽略键盘是否可见。

硬键盘插拔引起生命周期变化。

主要文本输入法

nokeys

qwerty

12key

nokeys:没有用于文本输入的硬键盘

qwerty:标准硬键盘

12key:12键硬键盘

导航键可用性

naveexposed

navhidden

naveexposed:导航键可用

navhidden:导航不可以用(例如,位于密封盖子后面)

如果用户显示导航键,它有可能在应用生命周期中发生改变

主要非触摸导航方法

nonav

dpad

trackball

wheel

nonav:除了触摸屏外,没有其他导航设施

dpad:具有用于导航的方向键

trackball:具有用于导航的轨迹球

wheel:具有方向键

平台版本(api级别)如:v3 v4 v18设备支持的 API 级别。

:有些配置限定符在不同平台版本才添加的,在添加配置限定符会隐式添加平台版本限定符。

限定符只能有一个值;不区分大小写;不能嵌套文件夹使用;

创建别名资源(不是所有资源都支持创建别名,特别是xml/中的动画资源,菜单资源,原始资源及其他未指定资源

可绘制资源别名示例:原文件icon_ca.png 放置于res/drowable 别名 icon  使用<bitmap> 标签引用

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/icon_ca" />

布局资源别名示例:使用<merge> 中的 <include>标签

<?xml version="1.0" encoding="utf-8"?>
<merge>
    <include layout="@layout/main_ltr"/>
</merge>

简单资源别名示例:直接将资源 ID 用作新资源的值即可

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello</string>
    <string name="hi">@string/hello</string>
</resources>

                                                                                                         ----宁远笔记 2019.5.19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值