Es un poco difícil de decir la transición que está intentando tratar entre estas dos imágenes. Por lo que desea comenzar con la imagen B/W, pero lo hace de transición de B/W de color por un fundido cruzado, o te lentamente desea aplicar piezas de la imagen en color de abajo hacia arriba sobre el B/pieza W?
Si éste es su elección, entonces su imagen real comprenderá de dos dibujables juntos dentro de una <layer-list>
. Una estática y la otra representando un ClipDrawable
que revelará una parte de la imagen en color en función de su valor de nivel. Por ejemplo, cree un archivo XML:
res/estirable/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>
asentando después de que Drawable
en algo así como un ImageView
para mostrar el progreso, y cambiar el valor con llamadas a setLevel()
, es decir,
//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);
Los niveles de Drawable se configuran por defecto de 0 a 10,000 para representar completamente recortado a completamente revelado.
HTH
posible duplicado de [Android - estableció un ProgressBar para ser una barra vertical en lugar de horizontal] (http://stackoverflow.com/questions/3926395/android-set-a-progressbar-to- BE-a-vertical de la barra, en lugar de horizontal) –
en realidad no es un duplicado de eso en absoluto. –