Estoy tratando de crear una barra de progreso personalizada en Android. He utilizado el siguiente archivo XML para ello (progress_bar_horizontal.xml):Barra de progreso redondeada en ambos lados en Android
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="8dip" />
<stroke android:width="2dip" android:color="#FFFF"/>
<solid android:color="#FFFF"/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="8dip" />
<stroke android:width="2dip" android:color="#FFFF"/>
<solid android:color="#FF00"/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="8dip" />
<stroke android:width="2dip" android:color="#FFFF"/>
<solid android:color="#FF00"/>
</shape>
</clip>
</item>
</layer-list>
Todo funciona muy bien, aparte del hecho me gustaría tener el progreso en mi barra de progreso redondeado en ambos lados. El código mencionado hace que una barra de progreso se redondee en el lado izquierdo y simplemente se corte (no se redondee) en el lado derecho. Es debido a la etiqueta del clip, probablemente. ¿Podrías por favor ayudarme con eso? ¿Qué debería cambiar para tener el progreso en mi barra de progreso redondeado en ambos lados?
El diseño completo va a continuación:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/gradient_progress"
android:padding="10dip"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/progress_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF000000"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:text="Uploading"
/>
<TextView
android:id="@+id/progress_percent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF000000"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:text="55%"
android:paddingLeft="10dip"
/>
</LinearLayout>
<ProgressBar
android:id="@+id/progress_bar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:progressDrawable="@drawable/progress_bar_horizontal"
android:maxHeight="12dip"
android:minHeight="12dip"
android:max="100"
/>
</LinearLayout>
</LinearLayout>
Este es el resultado de mi esfuerzo: link text
Me gustaría que la barra roja que tenga bordes redondeados en el lado derecho también. Muchas gracias por sus comentarios.
podemos ver el diseño donde poner este th ing dentro? También asumo que vio progress_horizontal.xml en SDK. –
Gracias por la entrada. Sí, he visto las muestras del marco pero desafortunadamente no manejan mi caso. He actualizado la pregunta con el diseño completo y he cargado la imagen que muestra la barra actual. Gracias por tu consideración. – youri