android progressbar 显示两个进度样式的解决方案

来源:互联网 发布:甲子网络前台 编辑:程序博客网 时间:2024/06/05 20:01

显示两个进度的原因是因为屏幕适应分辨率的问题

解决方法是:首先需要在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>