To trochę trudno powiedzieć przejście starasz się próbować między tymi dwoma obrazami. A więc chcesz zacząć od obrazu czarno-białego, ale czy przechodzi on od czarno-białego do kolorowego przez krzyżowanie, czy też powoli chcesz zastosować fragmenty kolorowego obrazu od dołu do góry nad fragmentem czarno-białym?
Jeśli jest to Twój wybór, twój rzeczywisty obraz będzie składał się z dwóch rysunków znajdujących się wewnątrz <layer-list>
. Jeden statyczny, a drugi reprezentujący ClipDrawable
, który ujawni część kolorowego obrazu na podstawie jego wartości poziomu. Na przykład, utworzyć plik XML:
RES/rozciągliwej/progress_background.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap android:src="@drawable/ic_launcher_bw"/>
</item>
<item>
<clip
android:clipOrientation="vertical"
android:gravity="bottom"
android:drawable="@drawable/ic_launcher"/>
</item>
</layer-list>
następnie ustawić że Drawable
na czymś jak ImageView
aby wyświetlić postęp i zmień wartość z wywołań setLevel()
, tj.
//This is any view subclass that you have chosen to do this
ImageView progress;
progress.setImageResource(R.drawable.progress_background);
//Adjust the progress by adjusting the drawable's level
progress.setImageLevel(500);
// -- OR --
progress.getDrawable().setLevel(500);
Poziomy kreślarskie są domyślnie ustawione od 0 do 10 000, aby reprezentować w pełni przycięte do pełnego ujawnienia.
HTH
możliwe duplikat [Androida - ustawić ProgressBar się pionowy pasek zamiast poziomych] (http://stackoverflow.com/questions/3926395/android-set-a-progressbar-to- be-a-vertical-bar-in-of-horizontal) –
W rzeczywistości nie jest to duplikat tego. –