11、Android:windowSoftInputMode
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。
这个属性能影响两件事情:
【A】当有焦点产生时,软键盘是隐藏还是显示
【B】是否减少活动主窗口大小以便腾出空间放软键盘
各值的含义:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
4、第四层(<intent-filter>)
结构图:
<intent-filter android:icon="drawable resource"
android:label="string resource"
android:priority="integer" >
<action />
<category />
<data />
</intent-filter>
intent-filter属性
android:priority(解释:有序广播主要是按照声明的优先级别,如A的级别高于B,那么,广播先传给A,再传给B。优先级别就是用设置priority属性来确定,范围是从-1000~1000,数越大优先级别越高)
Intent filter内会设定的资料包括action,data与category三种。也就是说filter只会与intent里的这三种资料作对比动作
action属性
action很简单,只有android:name这个属性。常见的android:name值为android.intent.action.MAIN,表明此activity是作为应用程序的入口。
category属性
category也只有android:name属性。常见的android:name值为android.intent.category.LAUNCHER(决定应用程序是否显示在程序列表里)
data属性
<data android:host="string"
android:mimeType="string"
android:path="string"
android:pathPattern="string"
android:pathPrefix="string"
android:port="string"
android:scheme="string"/>
【1】每个<data>元素指定一个URI和数据类型(MIME类型)。它有四个属性scheme、host、port、path对应于URI的每个部分:
scheme://host:port/path
scheme的值一般为"http",host为包名,port为端口号,path为具体地址。如::200/folder/etc
其中host和port合起来构成URI的凭据(authority),如果host没有指定,则port也会被忽略
要让authority有意义,scheme也必须要指定。要让path有意义,scheme+authority也必须要指定
【2】mimeType(指定数据类型),若mimeType为'Image',则会从content Provider的指定地址中获取image类型的数据。还有'video'啥的,若设置为video/mp4,则表示在指定地址中获取mp4格式的video文件
【3】而pathPattern和PathPrefix主要是为了格式化path所使用的