简单的ImageView颜色动画

时间:2014-11-12 12:32:16

标签: android animation imageview

您好,我对Android比较陌生,如果可能的话,我想提供一些指导方针或建议,以便在哪里搜索以解决我的问题。显然,我没有发布图像的声誉,因此我会尽力解释它。

让我说我有一个空瓶子,一旦这个片段/活动被调用,我想引入一个动画,逐渐和垂直(从下到上)开始用水填充这个imageView。

任何想法或指示,

非常感谢并提前!

2 个答案:

答案 0 :(得分:1)

瓶子的2张图片怎么样? 一个(前景)将是一个透明的空瓶子 (背景)第二个是液体的形状"

当您的活动开始时,获取背景并为其设置动画,就像发布在此主题上一样:https://stackoverflow.com/a/12127985/4232337

希望这有帮助!

答案 1 :(得分:0)

您可以使用自定义ProgressBar执行此操作。

更简单
<ProgressBar
            android:id="@+id/progressbar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginBottom="2dp"
            android:layout_marginTop="2dp"
            android:indeterminateOnly="false"
            android:max="100"
            android:progress="30"
            android:progressDrawable="@drawable/progress_bar_clip" >
        </ProgressBar>

<强> progress_bar_clip.xml

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

    <item android:id="@android:id/background">
        <clip
            android:clipOrientation="vertical"
            android:drawable="@drawable/ic_launcher"
            android:gravity="bottom" />
    </item>
    <item android:id="@android:id/progress">
        <clip
            android:clipOrientation="vertical"
            android:gravity="bottom" >
            <bitmap android:src="@drawable/ic_launcher" >
            </bitmap>
        </clip>
    </item>

</layer-list>

您没有加载任何动画。只需使用处理程序并将进度条增加1。

final ProgressBar bar = (ProgressBar) findViewById(R.id.progressbar);

        final Handler handler = new Handler();
        runnable = new Runnable() {

            @Override
            public void run() {
                if(bar.getProgress() != 100) {
                    bar.incrementProgressBy(1);
                    handler.postDelayed(runnable, 500);
                }
            }
        };;

        handler.post(runnable);