【问题标题】:Downloading Animation in android在android中下载动画
【发布时间】:2014-06-13 10:07:45
【问题描述】:

我正在开发一个应用程序,在该应用程序中,我需要在我的活动的操作栏上提供类似下载的功能。

我想知道它是某种进度条还是仅仅是动画。

谢谢

代码:

可绘制 -> 动画

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
      android:oneshot="false">
  <item android:drawable="@drawable/ic_action_download" android:duration="200" />
  <item android:drawable="@drawable/ic_action_holo_download" android:duration="200" />
</animation-list>

活动

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater = getMenuInflater();

    inflater.inflate(R.menu.activity_main, menu);
    return super.onCreateOptionsMenu(menu);
}

菜单->activity_main

 <?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android">

 <item 
    android:id="@+id/menu"
    android:icon="@drawable/anim"
    android:showAsAction="always"
    android:title="@string/xxx"
    android:visible="true" />

  </menu>

【问题讨论】:

    标签: android android-notifications android-progressbar


    【解决方案1】:

    实现此目的的一种方法是使用Animation-list drawable. 将一组不同的图像添加到此 xml 文件中,并根据持续时间进行动画处理。

    <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
        android:oneshot="true">
        <item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
        <item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
        <item android:drawable="@drawable/rocket_thrust3" android:duration="200" />
    </animation-list>
    

    这是一个SO 回答,描述了如何将其添加到通知托盘的一部分。

    【讨论】:

      【解决方案2】:

      提示:如果要提供自定义布局动画,请创建一个 LayoutTransition 对象并使用 setLayoutTransition() 方法将其提供给布局。

      一个例子将在 http://developer.android.com/shareables/training/Animations.zip 有关代码实现,请参见以下文件: src/LayoutChangesActivity.java 布局/activity_layout_changes.xml 菜单/activity_layout_changes.xml 在 Activity 的布局 XML 文件中,将要为其启用动画的布局的 android:animateLayoutChanges 属性设置为 true。例如:

      <LinearLayout android:id="@+id/container"
          android:animateLayoutChanges="true"
          ...
      />
      

      现在,您只需在布局中添加、删除或更新项目,这些项目就会自动生成动画:

      private ViewGroup mContainerView;
      ...
      private void addItem() {
          View newView;
          ...
          mContainerView.addView(newView, 0);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-20
        • 2019-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-30
        • 2013-10-31
        相关资源
        最近更新 更多