ActionBar Sherlock ( Stackoverflow Link )を使用してアクション バーにアニメーション アイテムを追加するための解決策をいくつか見つけました。
デフォルトのアクション バーのみを使用する場合の例はありますか?
リンクにあるアプローチを試してみましたが、ボタンのアニメーションが作成されます。問題は、actionVIew が設定された後、ボタンがアクション バー内に配置されたままになることです。
ActionBar Sherlock ( Stackoverflow Link )を使用してアクション バーにアニメーション アイテムを追加するための解決策をいくつか見つけました。
デフォルトのアクション バーのみを使用する場合の例はありますか?
リンクにあるアプローチを試してみましたが、ボタンのアニメーションが作成されます。問題は、actionVIew が設定された後、ボタンがアクション バー内に配置されたままになることです。
私はプロジェクトのためにそれをしなければなりませんでした。ImageView をサブクラス化し、そのクラスをメニュー項目のアクション ビューとして使用するだけです。
package com.---.events.android;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.os.Handler;
import android.util.AttributeSet;
import android.widget.ImageView;
public class AnimatedImageView extends ImageView {
public AnimatedImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public AnimatedImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AnimatedImageView(Context context) {
super(context);
}
public void initializeAnimation(){
setImageDrawable(null);
setBackgroundAnimation();
AnimationDrawable da = (AnimationDrawable) getBackground();
da.start();
}
public void setBackgroundAnimation() {
setBackgroundResource(R.drawable.logo_animation); // this is an animation-list
}
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
Handler handler = new Handler();
final AnimatedImageView me = this;
handler.post(new Runnable(){
public void run() {
me.initializeAnimation();
}
});
}
}
メニュー XML から Action View を指定する方法は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_animation"
android:title="test"
android:showAsAction="always"
android:actionViewClass="com.--.events.android.AnimatedImageView" />
</menu>