Я пытаюсь выполнить действие, подобное вики, где есть блеклое фоновое изображение, которое загружается из репозитория и постепенно превращается в фон за линейным макетом.У меня есть три проблемы:
XML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/bg_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cropToPadding="true"
android:scaleType="centerCrop" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
android:textColor="#FFFFFF" >
<LinearLayout>Several layouts within here....</LinearLayout>
</LinearLayout>
</FrameLayout>
1) Я могу показать изображение, но некоторые некоторые элементы в LinearLayout не прозрачны, пока я не открою другое приложение, затем вернитесь к моему приложению.Я думаю, что может быть какое-то странное кеширование представлений, встроенное в андроид, которое приводит к тому, что такие вещи, как линейные макеты, имеют сплошной фон.
2) Я не могу заставить изображение «блекнуть» на заднем плане.Я почти хочу просто затемнить изображение, чтобы текст на нем выделялся больше.Будет ли это непрозрачность на изображении?
3) Анимация для плавного перехода не работает.Я использую AsyncTask, чтобы перезвонить слушателю, чтобы установить фон.Вот код, который я использую в упражнении, InfoActivity:
bg =(ImageView)findViewById(R.id.bg_image);
public void onBgImageResponse(Bitmap background) {
if(background != null) {
bg.setAlpha(50);
bg.setImageBitmap(background);
Animation myFadeInAnimation = AnimationUtils.loadAnimation(InfoActivity.this, R.anim.fadein_bg);
bg.setBackgroundDrawable(new BitmapDrawable(this.getResources(), background));
bg.startAnimation(myFadeInAnimation);
}
}
В файле fadein_bg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0"
android:toAlpha=".5"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="2000" android:repeatCount="infinite"/>
</set>
Любая помощь очень ценится.Я буду выдавать награду, если нужно.