在xml布局中创建自定义微调器

时间:2013-07-10 22:09:07

标签: android android-layout android-spinner

我想创建一个我想在整个应用中重复使用的自定义微调器。因此,我想将我的微调器创建为xml布局文件(即/layout/custom_spinner.xml)。我已经通过drawable list

创建了
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
    <item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
    <item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
    <item android:drawable="@drawable/rocket_thrust3" android:duration="200" />
</animation-list>

现在我需要知道如何将它放在我的微调器内。典型的xml微调器看起来像这样

<ProgressBar
    android:id="@+id/spinner"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:visibility="invisible" />

我如何实现我想要的目标?

编辑:

以下基本上有效,但它显示了四个进度旋转器/条,而不是一个在中心。

 <ProgressBar
    android:id="@+id/spinner"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_centerInParent="true"
    android:indeterminate="true"
    android:indeterminateDrawable="@drawable/my_icon"
    android:visibility="visible" />

1 个答案:

答案 0 :(得分:1)

android中的术语Spinner指的是ProgressBar以外的其他内容。

但是,请查看setProgressDrawable(Drawable d)setIndeterminateDrawable(Drawable d)方法。

您需要删除此行

style="?android:attr/progressBarStyleLarge"

编辑:

<rotate android:drawable="@drawable/my_icon" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="360" />

我在文档中找不到特定的旋转可绘制信息,所以我不确定它需要包含什么,如果有的话。