I'm trying to create a transition/animation where a portion of the view gets filled by a different color.
Something like this:

What would be the easiest way to do this?
You could try the following:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View progress = findViewById(R.id.progress);
// from -1f to 0f
float desiredPercentage = -1f;
TranslateAnimation anim = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -1,
Animation.RELATIVE_TO_PARENT, desiredPercentage, Animation.RELATIVE_TO_PARENT,
0, Animation.RELATIVE_TO_PARENT, 0);
anim.setDuration(3000);
anim.setFillAfter(true);
progress.startAnimation(anim);
progress.setVisibility(View.VISIBLE);
}
And in the layout:
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_centerInParent="true"
android:layout_margin="10dp"
android:background="@android:color/holo_green_dark">
<View
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_red_dark"
android:visibility="invisible"
/>
</LinearLayout>
Hope it helps. :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With