android学习笔记之资源XML

Animations:

Property Animation 3.0引入的渐变动画,存放在res/animator文件夹

<?xml version=”1.0” encoding=”utf-8”?> 
    <objectAnimator xmlns:android=”http://schemas.android.com/apk/res/android” 
       android:propertyName=”alpha” 
       android:duration=”1000” 
       android:valueFrom=”0.0” 
       android:valueTo=”1.0”

/> //具体下次讨论

View animation 渐变动画  存放在res/anim

例子:

<?xml version=”1.0” encoding=”utf-8”?> 
<set xmlns:android=”http://schemas.android.com/apk/res/android” 
      android:interpolator=”@android:anim/accelerate_interpolator”> 
  <rotate 
     android:fromDegrees=”0” 
     android:toDegrees=”360” 
     android:pivotX=”50%” 
     android:pivotY=”50%” 
     android:startOffset=”500” 
     android:duration=”1000” /> 
  <scale 
     android:fromXScale=”1.0” 
     android:toXScale=”0.0” 
     android:fromYScale=”1.0” 
     android:toYScale=”0.0” 
     android:pivotX=”50%” 
     android:pivotY=”50%” 
     android:startOffset=”500” 
     android:duration=”500” /> 
  <alpha 
     android:fromAlpha=”1.0” 
     android:toAlpha=”0.0” 
     android:startOffset=”500” 
     android:duration=”500” /> 
</set>

 

Frame by frame animation 帧动画 Drawable对象

直接看例子:

<animation-list 
  xmlns:android=”http://schemas.android.com/apk/res/android” 
  android:oneshot=”false”>

     <item android:drawable=”@drawable/android1” android:duration=”500” /> 
     <item android:drawable=”@drawable/android2” android:duration=”500” /> 
     <item android:drawable=”@drawable/android3” android:duration=”500” />

</animation-list>


代码中:

ImageView androidIV = (ImageView)findViewById(R.id.iv_android); 
androidIV.setBackgroundResource(R.drawable.android_anim);

AnimationDrawable androidAnimation = (AnimationDrawable) androidIV.getBackground();

androidAnimation.start();

 

通常的你如果start写在onCreate中,这个时候其实这个动画还没有完全被附加到窗体,所以将无法启动,一般的把启动写在动作事件上比如按钮触发事件又或者写在onWindowFocusChanged 回调函数中。//比如你Activity一开始启动你就想直接播放动画,写在这个回调函数中是可以考虑的。

 

那么如何使用这些资源呢?

Resources myResources = getResources();  //获取资源

CharSequence styledText = myResources.getText(R.string.stop_message);  //Sring资源获取方式 
Drawable icon = myResources.getDrawable(R.drawable.app_icon); // Drawable资源获取方式

int opaqueBlue = myResources.getColor(R.color.opaque_blue); //获取颜色资源

float borderWidth = myResources.getDimension(R.dimen.standard_border); //获取Dimen资源

Animation tranOut = AnimationUtils.loadAnimation(this, R.anim.spin_shrink_fade); //加载View Animation 

ObjectAnimator animator = (ObjectAnimator)AnimatorInflater.loadAnimator(this, 
  R.anim.my_animator);  //加载property animation 

String[] stringArray; 
stringArray = myResources.getStringArray(R.array.string_array); //获取数组资源

int[] intArray = myResources.getIntArray(R.array.integer_array);

帧动画资源(Drawable资源)获取: 

AnimationDrawable androidAnimation; 
androidAnimation = 
(AnimationDrawable)myResources.getDrawable(R.drawable.frame_by_frame);

 

在布局中使用资源:

<?xml version=”1.0” encoding=”utf-8”?> 
<LinearLayout 
  xmlns:android=”http://schemas.android.com/apk/res/android” 
  android:orientation=”vertical” 
  android:layout_width=”match_parent” 
  android:layout_height=”match_parent” 
  android:padding=”@dimen/standard_border”> 
  <EditText 
     android:id=”@+id/myEditText” 
     android:layout_width=”match_parent” 
     android:layout_height=”wrap_content” 
     android:text=”@string/stop_message” 
     android:textColor=”@color/opaque_blue” 
  /> 
</LinearLayout>

使用系统资源:

代码中: CharSequence httpError = getString(android.R.string.httpErrorBadUrl);

布局中:

<EditText 
  android:id=”@+id/myEditText” 
  android:layout_width=”match_parent” 
  android:layout_height=”wrap_content” 
  android:text=”@android:string/httpErrorBadUrl” 
  android:textColor=”@android:color/darker_gray” 
/>

 

引用当前主题的样式:

使用主题是非常好的方式去保持整个APP UI的一致性,而不是完整定义每个样式,安卓提供了一个快捷方式使你能够使用当前主题的样式,例如下面的字体颜色。

还有就是android:textColor=”?android:textColor” //表示当前主题的字体颜色而不是一个系统资源

你可能感兴趣的:(android,学习)