を使用してアルファ レベルを操作することにより、フェード アニメーションを含むレイアウトを表示していますAlphaAnimation
。
現在のソリューションは、Gingerbread を使用する 2 つのデバイスと Froyo を使用する 1 つのデバイスで正常に動作します。しかし、アイスクリームサンドには効かない!?
これが私の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>
これは、ロードアップ時にアルファを0に設定するonCreateメソッドです.xmlで実行すると機能しません...
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);
そして、それを表示したいときは、次のように呼び出します。
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;
}
IceCream サンドイッチにロードすると、LinearLayout が表示されます。これは、ボタンをクリックしてその機能を実行し、表示する機能が呼び出されているためですが、表示されません。
どんな助けでも素晴らしいでしょう