Je suis afficher une mise en page avec animation fondu en manipulant ses niveaux alpha en utilisant AlphaAnimation
.AlphaAnimation ne fonctionne pas dans Sandwich à la crème glacée
La solution actuelle fonctionne correctement sur deux de mes appareils qui utilisent Gingerbread et un qui utilise Froyo. Cependant, cela ne fonctionne pas sur Ice Cream Sandwich ?!
Voici ma mise en page xml.
<LinearLayout
android:id="@+id/photoOptionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:alpha="0"
android:background="@color/gpsBackground"
android:orientation="horizontal">
<ImageButton
android:id="@+id/displayShareBtn"
style="@android:style/Widget.Holo.Button.Borderless.Small"
android:background="@android:color/transparent"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:padding="20dp"
android:src="@drawable/share"
android:contentDescription="Share the picture"/>
<ImageButton
android:id="@+id/displayDiscardBtn"
style="@android:style/Widget.Holo.Button.Borderless.Small"
android:background="@android:color/transparent"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:padding="20dp"
android:src="@drawable/contentdiscard"
android:contentDescription="Discard Picture"/>
</LinearLayout>
Voici ma méthode onCreate pour définir l'alpha à 0 sur loadup que lorsque vous avez terminé en XML, il ne fonctionne pas ...
AlphaAnimation alpha = new AlphaAnimation(0.0F, 0.0F);
alpha.setDuration(0); // Make animation instant
alpha.setFillAfter(true); // Tell it to persist after the animation ends
// And then on your layout
this._photoOptionsBar.startAnimation(alpha);
Et puis quand je veux montrer que je appelle le suivant.
public void showOptions() {
AlphaAnimation alpha = new AlphaAnimation(0.0F, 1.0F);
alpha.setDuration(PhotoDisplayFragment.FADE_DURATION); // Make animation instant
alpha.setFillAfter(true);
this._photoOptionsBar.startAnimation(alpha);
this._optionsShowing = true;
}
Quand je le charger en sandwich IceCream le LinearLayout est là parce que vous pouvez cliquer sur les boutons et exécute leur fonction, et les fonctions de montrer sont appelés mais je ne peux pas le voir!
Toute aide serait grande
Vous étiez correct avec l'endroit où le problème était, mais le réglage à 1 dans le fichier xml fait le reste fonctionne bien. – StuStirling
Yea ne pouvait pas à cause de la minuterie. – StuStirling