显示两个进度的原因是因为屏幕适应分辨率的问题
解决方法是:首先需要在AndroidMinifest。xml中配置
<supports-screens
android:largeScreens="true"
android:smallScreens="true"
android:normalScreens="true"
android:anyDensity="true"
android:xlargeScreens="true"
android:resizeable="true"
/>
然后需要定义自己的样式:
<ProgressBar
android:id="@+id/voices_info_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:visibility="invisible"
style="@style/progressBar_sending"
/>
<style name="progressBar_sending" parent="android:style/Widget.ProgressBar">
<item name="android:indeterminateDrawable">@drawable/loading_anim</item>
<item name="android:maxHeight">15dip</item>
<item name="android:maxWidth">15dip</item>
<item name="android:minWidth">15dip</item>
<item name="android:minHeight">15dip</item>
</style>
<item name="android:maxHeight">15dip</item>
<item name="android:maxWidth">15dip</item>
<item name="android:minWidth">15dip</item>
<item name="android:minHeight">15dip</item>
这里最重要的是这几个属性,因为他们决定进度动画图片的大小。虽然设置了适应分辨率,但是图片大小不定的话同样会有两个样式出现。
loading_anim.xml
<?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/jh01" android:duration="50" />
<item android:drawable="@drawable/a02" android:duration="50" />
<item android:drawable="@drawable/a03" android:duration="50" />
<item android:drawable="@drawable/a04" android:duration="50" />
<item android:drawable="@drawable/a05" android:duration="50" />
<item android:drawable="@drawable/a06" android:duration="50" />
<item android:drawable="@drawable/a07" android:duration="50" />
<item android:drawable="@drawable/a08" android:duration="50" />
<item android:drawable="@drawable/a09" android:duration="50" />
<item android:drawable="@drawable/a10" android:duration="50" />
<item android:drawable="@drawable/a11" android:duration="50" />
<item android:drawable="@drawable/a12" android:duration="50" />
</animation-list>