帧动画画出中心

时间:2014-12-17 07:09:31

标签: android animation android-animation

当我拉到刷新列表时,我的进度条动画看起来很奇怪。你可以看到下面的屏幕截图。

我使用了8帧来模仿不确定模式下的刷新动画,但刷新的圆形动画绘制不正确。 我想知道为什么会发生这种情况,以及为什么这是圆圈底部的暗线。

进度条声明

    <?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="fill_parent"
              android:orientation="vertical">

    <RelativeLayout
            android:id="@+id/head_contentLayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:paddingTop="10dip"
            android:paddingBottom="15dip">

        <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="30dip"
                android:layout_marginRight="20dip">

            <ImageView
                    android:id="@+id/head_arrowImageView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:src="@drawable/pulltorefresh_arrow"/>

        </FrameLayout>

        <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:paddingTop="10dip"
                android:paddingBottom="15dip"
                android:layout_marginLeft="100dip"
                android:layout_marginRight="10dip">

            <ProgressBar
                    android:id="@+id/head_progressBar"
                    style="@style/loading_small"
                    android:visibility="gone"/>

        </FrameLayout>

        <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:gravity="center_horizontal"
                android:orientation="vertical">

            <TextView
                    android:id="@+id/head_tipsTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/pull_to_refresh_pull_label"
                    android:textColor="@color/black"/>

            <TextView
                    android:id="@+id/head_lastUpdatedTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textColor="@color/black"
                    android:textSize="10sp"/>

        </LinearLayout>
    </RelativeLayout>


</LinearLayout> 

样式文件

<style name="loading_small" parent="@android:style/Widget.ProgressBar.Small">
    <item name="android:indeterminateDrawable">@anim/pull_to_refresh_header_loading</item>
    <item name="android:layout_width">41dip</item>
    <item name="android:layout_height">41dip</item>
    <item name="android:layout_gravity">center_vertical</item>
</style>

动画列表的项目

    <?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="100" android:drawable="@drawable/loading_0" />
    <item android:duration="100" android:drawable="@drawable/loading_1" />
    <item android:duration="100" android:drawable="@drawable/loading_2" />
    <item android:duration="100" android:drawable="@drawable/loading_3" />
    <item android:duration="100" android:drawable="@drawable/loading_4" />
    <item android:duration="100" android:drawable="@drawable/loading_5" />
    <item android:duration="100" android:drawable="@drawable/loading_6" />
    <item android:duration="100" android:drawable="@drawable/loading_7" />
</animation-list> 
奇怪的清新圆圈
enter image description here

用于组装圆圈的框架之一。

enter image description here

1 个答案:

答案 0 :(得分:1)

删除框架布局的填充。并设置高度和宽度以包装内容并裁剪各个(宽度和高度分别为15和21 dp)尺寸的图像。因为它可以帮助你实现设备兼容性。

试试这个

<style name="loading_small" parent="@android:style/Widget.ProgressBar.Small">
    <item name="android:indeterminateDrawable">@anim/pull_to_refresh_header_loading</item>
    <item name="android:layout_width">41dip</item>
    <item name="android:layout_height">41dip</item>
    <item name="android:layout_centerVertical">true</item>
</style>