2013-09-23 19 views
5

Cześć, chłopaki, dzisiaj próbuję zrobić mój własny pasek postępu, ponieważ stworzyłem spinner_inner i spinner_outer, ale mój wewnętrzny rozmiar jest duży i pokrywa się z zewnętrznym.Pasek postępu z obrazem w środku

Image

moja aktywność

<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> 

mój styl

<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> 

mój 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> 

I już szukał odpowiedzi, ale bez sucess

+0

nikt !? bump to – firetrap

Odpowiedz

10

Więc po nikt mi odpowiedzieć mogę znaleźć własną drogę.

Układ:

<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" /> 

się spinner

<?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

Jesteś ratownikiem. Potrzebowałem tego i działa idealnie na kilku urządzeniach, na których testowałem. Wielkie dzięki! – pqsk

+0

czy możesz powiedzieć, co to jest @ drawable/spinner_inner, @ drawable/spinner_outer ", @ drawable/loading ?? – CoronaPintu