Sto cercando di creare una barra di avanzamento personalizzata in Android. Ho usato il seguente file XML per esso (progress_bar_horizontal.xml):Barra di avanzamento arrotondata su entrambi i lati in 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>
Tutto grandi opere a parte il fatto che mi piacerebbe avere i progressi nella mia barra di avanzamento arrotondato su entrambi i lati. Il codice di cui sopra fa una barra di progresso da arrotondare sul lato sinistro e semplicemente tagliare (non arrotondato) sul lato destro. Probabilmente è a causa del tag clip. Potresti per favore aiutarmi su questo? Cosa dovrei cambiare per avere i progressi nella mia barra di progresso arrotondati su entrambi i lati?
Il layout completo va sotto:
<?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>
Ecco il risultato del mio impegno: link text
vorrei che la barra rossa di avere bordi arrotondati sul lato destro della strada pure. Grazie mille per i vostri commenti.
possiamo vedi il layout dove stai mettendo questo th in? Suppongo anche che tu abbia visto progress_horizontal.xml in SDK. –
Grazie per l'input. Sì, ho visto i campioni del framework ma sfortunatamente non gestiscono il mio caso. Ho aggiornato la domanda con il layout completo e ho caricato l'immagine che mostra la barra corrente. Grazie per la tua considerazione. – youri