Android中的XML文件的作用介绍

WindowManager 用法 添加View,然后移除View

WindowManager wm=(WindowManager)ChangeStatus.this.getSystemService(Context.WINDOW_SERVICE);

LayoutInflater inflater=LayoutInflater.from(ChangeStatus.this);

final View view=inflater.inflate(R.layout.infor_text, null);

WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();

wm.addView(view,mParams); //添加

view.findViewById(R.id.btn_infor).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

wm.removeView(view); //移除

}

});

当RelativeLayout 的addStatesFromChildren属性设置为true时,点击RelativeLayout 上的任意控件,RelativeLayout 都呈现被点击的效果显示

例如:

<RelativeLayout android:gravity="center_vertical" android:id="@+id/phoinix_settings_notification"

android:layout_alignParentTop="true" android:layout_width="fill_parent" android:addStatesFromChildren="true"

android:layout_height="wrap_content" android:background="@xml/phoinix_settings_click_bottom_style">

<TextView android:id="@+id/phoinix_settings_notificationLabel"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:text="@string/phoinix_settings_notificationLabel" style="@style/Label" />

<ImageButton android:id="@+id/phoinix_settings_notificationImage"

android:layout_centerVertical="true"

android:layout_alignParentRight="true" android:layout_marginRight="2dp"

android:background="@xml/phoinix_profile_mainmenu_style" android:layout_width="wrap_content"

android:layout_height="wrap_content" />

</RelativeLayout>

Android XML 各种类型文件写法:

Arrays.xml 定义数组

<resources>

<string-array name="proxy_types">

<item>HTTP</item>

<item>SOCKS4</item>

<item>SOCKS5</item>

</string-array>

</resources>

Colors.xml

<resources>

<color name="blue_sky">#A0C8FF</color>

<color name="vert_manu">#CCFF00</color>

<color name="black">#000000</color>

<color name="white">#FFFFFF</color>

<color name="red">#FF0000</color>

<color name="link_color">#FF0066CC</color>

<color name="simiple_button_color">#FFF</color>

<color name="blue">#0000FF</color>

<color name="grey">#FFCBD2D8</color>

</resources>

在res / values目录内的任何xml档,使用<dimen>做为大小尺寸标签.

Dimens.xml 定义尺寸值

<?xml version="1.0" encoding="utf-8"?>

<resources>

<dimen name="bottom_tab_font_size">12dp</dimen>

<dimen name="bottom_tab_padding_up">5dp</dimen>

<dimen name="bottom_tab_padding_drawable">8dp</dimen>

</resources>

Drawables.xml

<resources>

<item type="drawable" name="shader1">#7f7f7f7f</item>

<item type="drawable" name="highlight">#cf7f7f7f</item>

<item type="drawable" name="barbg">#ef0a4267</item>

<item type="drawable" name="trans">#00000000</item>

<item type="drawable" name="chatdivider">#ffd6dadc</item>

</resources>

Strings.xml

<resources>

<!-- Generic terms -->

<string name="app_name">Beem</string>

<string name="OkButton">Ok</string>

<string name="ClearButton">Clear</string>

<string name="CancelButton">Cancel</string>

<string name="AcceptButton">Authorize</string>

<string name="RefuseButton">Deny</string>

</resources>

Styles.xml

<resources>

<style name="Label">

<item name="android:textSize">18sp</item>

<item name="android:textStyle">bold</item>

<item name="android:typeface">sans</item>

<!-- <item name="android:capitalize">characters</item> -->

<item name="android:textColor">#000000</item> <!-- #FFFFFF -->

<item name="android:focusable">false</item>

<item name="android:padding">12dip</item>

</style>

</resources>

phoinix_popumenu_style.xml selector选择

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_focused="true" android:state_pressed="true"

android:drawable="@drawable/phoinix_pushmail_btn_selected" />

<item android:state_focused="false" android:state_pressed="true"

android:drawable="@drawable/phoinix_pushmail_btn_selected" />

<item android:state_focused="true"

android:drawable="@drawable/phoinix_small_selected"/>

</selector>

Menu

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<group>

<item android:id="@+id/chat_menu_contacts_list" android:visible="true"

android:title="@string/chat_menu_contacts_list" android:icon="@drawable/ic_menu_friendslist" />

<item android:id="@+id/chat_menu_change_chat" android:visible="true"

android:title="@string/chat_menu_change_chat" android:icon="@drawable/ic_menu_chat_dashboard" />

</group>

<item android:id="@+id/chat_menu_close_chat" android:visible="true"

android:title="@string/chat_menu_close_chat" android:icon="@drawable/ic_menu_end_conversation" />

</menu>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+id/contact_list_context_menu_chat_item"

android:title="@string/CDChat">

<menu>

</menu>

</item>

<item android:id="@+id/contact_list_context_menu_call_item"

android:title="@string/CDCall" android:visible="false" />

<item android:id="@+id/contact_list_context_menu_user_info"

android:title="@string/CDInfos">

<menu>

<item android:id="@+id/contact_list_context_menu_userinfo_alias"

android:title="@string/userinfo_label_alias" />

<item android:id="@+id/contact_list_context_menu_userinfo_group"

android:title="@string/userinfo_label_chg_group" />

<item android:id="@+id/contact_list_context_menu_userinfo_subscription"

android:title="@string/userinfo_label_re_subscription" />

<item android:id="@+id/contact_list_context_menu_userinfo_block"

android:title="@string/userinfo_label_block" android:visible="false" />

<item android:id="@+id/contact_list_context_menu_userinfo_delete"

android:title="@string/userinfo_label_delete" />

</menu>

</item>

</menu>

Drawable white_background.xml 白色圆角矩形做背景

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">

<solid android:color="#FFFFFF" />

<corners android:topLeftRadius="5px"

android:topRightRadius="5px" android:bottomLeftRadius="5px"

android:bottomRightRadius="5px"/>

<!-- <padding android:left="10dp" android:top="10dp" android:right="10dp"

android:bottom="10dp" />

<stroke

android:dashWidth="2dp"

android:dashGap="2dp"

android:width="2dp"

android:color="#FF00ff00"></stroke> -->

<!-- -->

</shape>

Anim 旋转动画

· <set xmlns:android="http://schemas.android.com/apk/res/android">

·

· <rotate

· android:interpolator="@android:anim/accelerate_decelerate_interpolator"

· android:fromDegrees="0"

· android:toDegrees="+360"

· android:duration="3000" />

·

· <!-- rotate 旋转动画效果

· 属性:interpolator 指定一个动画的插入器,用来控制动画的速度变化

· fromDegrees 属性为动画起始时物件的角度

· toDegrees 属性为动画结束时物件旋转的角度,+代表顺时针

· duration 属性为动画持续时间,以毫秒为单位

· -->

· </set>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<rotate android:fromDegrees="0" android:toDegrees="360"

android:pivotX="50%" android:pivotY="50%"

android:duration="5000"

android:repeatMode="restart"

android:repeatCount="infinite" />

</set>

XML中
alpha
渐变透明度动画效果
scale
渐变尺寸伸缩动画效果
translate
画面转换位置移动动画效果
rotate
画面转移旋转动画效果

<set xmlns:android="http://schemas.android.com/apk/res/android">



<!--

Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效



Alpha:渐变透明度动画效果

Scale:渐变尺寸伸缩动画效果

Translate:画面转换位置移动动画效果

Rotate:画面旋转动画效果



Tween Animation 通用属性[类型] 功能

Duration[long] 属性为动画持续时间 时间以毫秒为单位

fillAfter [boolean] 当设置为true ,该动画转化在动画结束后被应用

fillBefore[boolean] 当设置为true ,该动画转化在动画开始前被应用



interpolator 指定一个动画的插入器 有一些常见的插入器

accelerate_decelerate_interpolator

加速-减速 动画插入器

accelerate_interpolator

加速-动画插入器

decelerate_interpolator

减速- 动画插入器

其他的属于特定的动画效果

repeatCount[int] 动画的重复次数

RepeatMode[int] 定义重复的行为 1:重新开始 2:plays backward

startOffset[long] 动画之间的时间间隔,从上次动画停多少时间开始执行下个动画

zAdjustment[int] 定义动画的Z Order的改变 0:保持Z Order不变

1:保持在最上层

-1:保持在最下层

-->

<!--

透明控制动画

-->

<alpha

android:fromAlpha="0.1"

android:toAlpha="1.0"

android:duration="3000"

/>



<!-- 尺寸伸缩动画效果 scale



属性:interpolator 指定一个动画的插入器



有三种动画插入器:

accelerate_decelerate_interpolator 加速-减速 动画插入器

accelerate_interpolator 加速-动画插入器

decelerate_interpolator 减速- 动画插入器



其他的属于特定的动画效果



fromXScale 属性为动画起始时 X坐标上的伸缩尺寸

toXScale 属性为动画结束时 X坐标上的伸缩尺寸



fromYScale 属性为动画起始时Y坐标上的伸缩尺寸

toYScale 属性为动画结束时Y坐标上的伸缩尺寸



说明:

以上四种属性值

0.0表示收缩到没有

1.0表示正常无伸缩

值小于1.0表示收缩

值大于1.0表示放大



pivotX 属性为动画相对于物件的X坐标的开始位置

pivotY 属性为动画相对于物件的Y坐标的开始位置

说明:

以上两个属性值 从0%-100%中取值

50%为物件的X或Y方向坐标上的中点位置

长整型值:

duration 属性为动画持续时间

说明: 时间以毫秒为单位



布尔型值:

fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用

-->

<scale

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:repeatCount="1"



android:fromXScale="0.5"

android:fromYScale="0.5"

android:toXScale="1.4"

android:toYScale="1.4"

android:pivotX="50%"

android:pivotY="50%"

android:fillAfter="false"

android:duration="3000"



/>

<!--

画面转换位置移动动画效果 translate



fromXDelta toXDelta 为动画、结束起始时 X坐标上的位置

fromYDelta toYDelta 为动画、结束起始时 Y坐标上的位置

-->



<translate

android:repeatCount="2"

android:fromXDelta="-30"

android:fromYDelta="-30"

android:toXDelta="-80"

android:toYDelta="200"

android:duration="3000"

/>

<!--

画面转移旋转动画效果 rotate



fromDegrees 为动画起始时物件的角度 说明

当角度为负数——表示逆时针旋转

当角度为正数——表示顺时针旋转

(负数from——to正数:顺时针旋转)

(负数from——to负数:逆时针旋转)

(正数from——to正数:顺时针旋转)

(正数from——to负数:逆时针旋转)

toDegrees 属性为动画结束时物件旋转的角度 可以大于360度

pivotX

pivotY 为动画相对于物件的X、Y坐标的开始位 说明:以上两个属性值 从0%-100%中取值

50%为物件的X或Y方向坐标上的中点位置

-->

<rotate

android:interpolator="@android:anim/accelerate_interpolator"

android:repeatCount="2"

android:fromDegrees="0"

android:toDegrees="+270"

android:pivotX="50%"

android:pivotY="50%"

android:duration="3000"

/>



</set>

加入动画

Animation mAnimation ;

mAnimation = AnimationUtils.loadAnimation(this, R.anim.anim);

TextView text = (TextView)findViewById(R.id.textview00);

text.setAnimation(mAnimation);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值