2013-09-23 5 views
5

Ciao ragazzi oggi sto provando a fare la mia barra di avanzamento personalizzata, per questo ho creato uno spinner_inner e uno spinner_outer, ma la mia dimensione interna è troppo grande e si sovrappone a quella esterna.Barra di avanzamento con immagine al centro

Image

mia attività

<ProgressBar 
     style="@style/Spinner" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:indeterminateDrawable="@drawable/loading" /> 

    <TextView 
     android:id="@+id/login_status_message" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="16dp" 
     android:fontFamily="sans-serif-light" 
     android:text="@string/login_progress_signing_in" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 
</LinearLayout> 

mio stile

<style name="Spinner"> 
    <item name="android:indeterminate">true</item> 
    <item name="android:indeterminateDrawable">@drawable/spinner_outer</item> 
    <item name="android:indeterminateDuration">2000</item> 
    <item name="android:indeterminateOnly">true</item> 
</style> 

mio xml

<?xml version="1.0" encoding="utf-8"?> 

<item android:drawable="@drawable/spinner_inner"/> 
<item> 
    <rotate 
     android:fromDegrees="0" 
     android:interpolator="@android:anim/linear_interpolator" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toDegrees="360" > 
     <bitmap 
      android:antialias="true" 
      android:filter="true" 
      android:src="@drawable/spinner_outer" /> 
    </rotate> 
</item> 

avevo già cercato una risposta, ma senza sucesso

+0

nessuno !? bump it – firetrap

risposta

10

Così, dopo nessuno mi ha risposta che io trovo la mia strada.

La disposizione:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/loading_status" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center" 
android:gravity="center_horizontal" 
android:orientation="vertical" 
android:visibility="gone" > 

<RelativeLayout 
    android:id="@+id/relative_container" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/image_test" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:src="@drawable/spinner_inner" 
     android:layout_centerInParent="true" /> 

    <ProgressBar 
     android:id="@+id/progress" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:indeterminateDrawable="@drawable/loading" 
     android:visibility="visible" /> 
</RelativeLayout> 

<TextView 
    android:id="@+id/status_message" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="16dp" 
    android:fontFamily="sans-serif-light" 
    android:text="@string/loading_data" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

La filatrice su

<?xml version="1.0" encoding="utf-8"?> 

<item> 
    <rotate 
     android:fromDegrees="0" 
     android:interpolator="@android:anim/linear_interpolator" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toDegrees="360" > 
     <bitmap 
      android:antialias="true" 
      android:filter="true" 
      android:src="@drawable/spinner_outer" /> 
    </rotate> 
</item> 

+1

Sei un vero toccasana. Ne avevo bisogno e funziona perfettamente sui pochi dispositivi su cui ho provato. Grazie mille! – pqsk

+0

puoi dire cosa è @ drawable/spinner_inner, @ drawable/spinner_outer ", @ drawable/loading ?? – CoronaPintu