我找到了一些使用 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 中指定操作视图的方法。
<?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>