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
转载于:https://my.oschina.net/u/199733/blog/110688