android – 无法获取Actionbar Icon动画

android – 无法获取Actionbar Icon动画,第1张

概述我正试图让我的Actionbar上的刷新按钮旋转,但是我在使它工作时遇到了一些麻烦. View似乎失去了它的horziontal margin / padding(我没有在任何地方设置),并且不会旋转.我没有得到任何空错误,崩溃或其他任何可能指向正确方向的东西.我究竟做错了什么?任何帮助都会得到很大的帮助. Main.java: public class Main extends ActionBa 我正试图让我的Actionbar上的刷新按钮旋转,但是我在使它工作时遇到了一些麻烦. VIEw似乎失去了它的horziontal margin / padding(我没有在任何地方设置),并且不会旋转.我没有得到任何空错误,崩溃或其他任何可能指向正确方向的东西.我究竟做错了什么?任何帮助都会得到很大的帮助.

Main.java:

public class Main extends ActionBaractivity{...    @OverrIDe    public boolean onoptionsItemSelected(MenuItem item) {        switch (item.getItemID()) {            case R.ID.action_refresh:                refresh();                break;            default:                break;        }        return super.onoptionsItemSelected(item);    }    public voID refresh() {        LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);        ImageVIEw imageVIEw = (ImageVIEw) inflater.inflate(R.layout.action_refresh,null);        Animation rotation = AnimationUtils.loadAnimation(this,R.anim.rotate);        rotation.setRepeatCount(Animation.INFINITE);        imageVIEw.startAnimation(rotation);        MenuItem item = menu.findItem(R.ID.action_refresh);        item.setActionVIEw(R.layout.action_refresh);   }}

menu.xml文件

<menu xmlns:androID="http://schemas.androID.com/apk/res/androID"      xmlns:yourapp="http://schemas.androID.com/apk/res-auto" >    <item androID:ID="@+ID/action_refresh"          androID:icon="@drawable/ic_action_refresh"          androID:title="refresh"          androID:actionLayout="@layout/action_refresh"          yourapp:showAsAction="ifRoom"          />    <item          androID:ID="@+ID/category_spinner_item"          androID:showAsAction="ifRoom"          androID:actionLayout="@layout/action_sort"          /></menu>

action_refresh.xml

<?xml version="1.0" enCoding="utf-8"?><ImageVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID"           androID:layout_wIDth="wrap_content"           androID:layout_height="wrap_content"           androID:src="@drawable/ic_action_refresh"           />

动画/ rotate.xml

<rotate xmlns:androID="http://schemas.androID.com/apk/res/androID"        androID:fromdegrees="0"        androID:todegrees="360"        androID:pivotX="50%"        androID:pivotY="50%"        androID:duration="10000"        androID:interpolator="@androID:anim/linear_interpolator" />
解决方法 只需改变这一行:
item.setActionVIEw(R.layout.action_refresh);

对此:

MenuItemCompat.setActionVIEw(item,imageVIEw);

它没有为原始线设置动画的原因是因为您要将动作视图设置为静态图像资源,而不是您设置为动画的imageVIEw.

总结

以上是内存溢出为你收集整理的android – 无法获取Actionbar Icon动画全部内容,希望文章能够帮你解决android – 无法获取Actionbar Icon动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存