我有一个LinearLayout
,上面有文字,进度条(只是一个加载屏幕)。我调用了一种方法,该方法可以搜索7秒钟长的设备,而该方法搜索我想淡入 LinearLayout
并在 7秒后显示它, strong>淡出。 3秒后,再次将搜索设备的方法称为 ,然后重新开始钻孔过程,直到我调用一种方法来停止它。
我试图用一个处理程序和一个可运行的程序来执行此操作,但是它只在开始时淡入一次,没有别的。
这是我到目前为止的内容:
动画
Animation fadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
Animation fadeOut = AnimationUtils.loadAnimation(this, R.anim.fade_out);
可运行和处理程序
private Runnable searchRunnable = new Runnable() {
@Override
public void run() {
stopSearch();
loader.startAnimation(fade_out);
searchHandler.postDelayed(new Runnable() {
@Override
public void run() {
startSearch();
loader.startAnimation(fade_in);
searchHandler.postDelayed(searchRunnable, 7000);
}
}, 3000);
}
};
//OnCreate
Handler searchHandler = new Handler();
searchHandler.postDelayed(searchRunnable, 7000);
//Start search for the first time and fade loader in
startSearch();
loader.startAnimation(fade_in);
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0"
android:toAlpha="1"
android:duration="1000"
android:startOffset="50" />
</set>
fade_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="1"
android:toAlpha="0"
android:duration="1000"
android:startOffset="50" />
</set>