您好,我对Android比较陌生,如果可能的话,我想提供一些指导方针或建议,以便在哪里搜索以解决我的问题。显然,我没有发布图像的声誉,因此我会尽力解释它。
让我说我有一个空瓶子,一旦这个片段/活动被调用,我想引入一个动画,逐渐和垂直(从下到上)开始用水填充这个imageView。
任何想法或指示,
非常感谢并提前!
答案 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);