中心带有图片的进度条

6

我正在尝试制作自己的自定义进度条,为此我创建了一个spinner_inner和一个spinner_outer,但是我的内部大小太大并且重叠在外部上。

图片

我的活动

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

我的风格

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

我的XML

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

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

</layer-list>

我已经搜索过答案,但没有成功。


你好,请告诉我 @drawable/spinner_inner,@drawable/spinner_outer 和 @drawable/loading 是什么? - Monica
1
可绘制对象是图像,spinner_outer 是多彩圆圈,而 spinner_inner 是蓝色表面。 - firetrap
1个回答

15

所以在没有人回答我的情况下,我找到了自己的方法。

布局:

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

外旋球投手

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

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

</layer-list>

1
你真是我的救命恩人。我需要这个,在我测试的几个设备上它完美地工作了。谢谢! - pqsk
3
你能告诉我 @drawable/spinner_inner,@drawable/spinner_outer 和 @drawable/loading 是什么吗? - CoronaPintu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接