android开发小技巧

动画方法里有一个fillBefore fillAfter属性,他们的意思是
fillBefore是指动画结束时画面停留在第一帧,fillAfter是指动画结束是画面停留在最后一帧。最关键的问题是,这2个参在java代码中设置是这样的:
setFillAfter(true);
  setFillBefore(false);
默认是fillBefore=true,fillAfter=false


zai xml里设置
/******动画结束时,停留在最后一帧**********  
<set android:fillAfter="true" android:fillBefore="false">  
  
/******动画结束时,停留在第一帧**********  
<set android:fillAfter="false" android:fillBefore="true">  
 
 PS:xml设置在scale标签里面设置是无效的,注意是set标签


2 ConditionVariable的使用
能够取代  线程操做常常用到wait和notify,用起来稍显繁琐,而Android给咱们封装好了一个ConditionVariable类
boolean  block(long timeout)
阻止当前线程直到条件是open,或直到超时,这里参数long timeout为超时设置,若是原本就是open状态的,则立刻返回


void  block()
阻止当前线程直到条件 open ,是上面的无超时等待重载版本。


void  close()
重置条件为 close状态。


void  open()
Open条件,释放全部线程的阻塞.


ConditionVariable在建立时还有一种构造方法是 public ConditionVariable (boolean state) ,若是为true,默认时为opened,若是为false则是closed. ,默认public ConditionVariable()为close()


3 让一个activity只显示一个对话框
  <activity
            android:name=".util.OfflineActivity"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:theme=" @android :style/Theme.Translucent" > 设置透明的 在activity onCreate里不调用setContentView(layoutResID) 而后直接让dialog show