http://liuzhichao.com/p/636.html
進度條預設是不确定(indeterminate=true)android進度條
android進度條有4種風格可以使用。
預設值是progressbarstyle。
設定成progressbarstylesmall後,圖示變小。
設定成progressbarstylelarge後,圖示變大
設定成progressbarstylehorizontal後,變成橫向長方形。
自定義圓形進度條progressbar的一般有三種方式:
一、通過動畫實作
定義res/anim/loading_anim.xml如下:
<code>1</code>
<code><?</code><code>xml</code> <code>version</code><code>=</code><code>"1.0"</code> <code>encoding</code><code>=</code><code>"utf-8"</code><code>?></code>
<code>2</code>
<code><</code><code>animation-list</code> <code>android:oneshot</code><code>=</code><code>"false"</code>
<code>3</code>
<code> </code><code>xmlns:android</code><code>=</code><code>"http://schemas.android.com/apk/res/android"</code><code>></code>
<code>4</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f0"</code> <code>/></code>
<code>5</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f1"</code> <code>/></code>
<code>6</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f2"</code> <code>/></code>
<code>7</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f3"</code> <code>/></code>
<code>8</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f4"</code> <code>/></code>
<code>9</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f5"</code> <code>/></code>
<code>10</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f6"</code> <code>/></code>
<code>11</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f7"</code> <code>/></code>
<code>12</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f8"</code> <code>/></code>
<code>13</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f9"</code> <code>/></code>
<code>14</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f10"</code> <code>/></code>
<code>15</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f11"</code> <code>/></code>
<code>16</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f12"</code> <code>/></code>
<code>17</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f13"</code> <code>/></code>
<code>18</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f14"</code> <code>/></code>
<code>19</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f15"</code> <code>/></code>
<code>20</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f16"</code> <code>/></code>
<code>21</code>
<code> </code><code><</code><code>item</code> <code>android:duration</code><code>=</code><code>"150"</code> <code>android:drawable</code><code>=</code><code>"@drawable/loading_blue_16_f17"</code> <code>/></code>
<code>22</code>
<code></</code><code>animation-list</code><code>></code>
在layout檔案中引用如下:
<code><</code><code>progressbar</code>
<code> </code><code>android:id</code><code>=</code><code>"@+id/progressbar1"</code>
<code> </code><code>android:layout_width</code><code>=</code><code>"wrap_content"</code>
<code> </code><code>android:layout_height</code><code>=</code><code>"wrap_content"</code>
<code> </code><code>android:layout_gravity</code><code>=</code><code>"center_horizontal"</code>
<code> </code><code>android:layout_marginbottom</code><code>=</code><code>"20dip"</code>
<code> </code><code>android:layout_margintop</code><code>=</code><code>"20dip"</code>
<code> </code><code>android:indeterminate</code><code>=</code><code>"false"</code>
<code> </code><code>android:indeterminatedrawable</code><code>=</code><code>"@anim/loading_anim"</code> <code>/></code>
二、通過自定義顔色實作
定義res/drawable/loading_color.xml如下:
<code><</code><code>rotate</code> <code>xmlns:android</code><code>=</code><code>"http://schemas.android.com/apk/res/android"</code>
<code> </code><code>android:fromdegrees</code><code>=</code><code>"0"</code>
<code> </code><code>android:pivotx</code><code>=</code><code>"50%"</code>
<code> </code><code>android:pivoty</code><code>=</code><code>"50%"</code>
<code> </code><code>android:todegrees</code><code>=</code><code>"360"</code> <code>></code>
<code> </code><code><</code><code>shape</code>
<code> </code><code>android:innerradiusratio</code><code>=</code><code>"3"</code>
<code> </code><code>android:shape</code><code>=</code><code>"ring"</code>
<code> </code><code>android:thicknessratio</code><code>=</code><code>"8"</code>
<code> </code><code>android:uselevel</code><code>=</code><code>"false"</code> <code>></code>
<code> </code><code><</code><code>gradient</code>
<code> </code><code>android:centercolor</code><code>=</code><code>"#ffdc35"</code>
<code> </code><code>android:centery</code><code>=</code><code>"0.50"</code>
<code> </code><code>android:endcolor</code><code>=</code><code>"#ce0000"</code>
<code> </code><code>android:startcolor</code><code>=</code><code>"#ffffff"</code>
<code> </code><code>android:type</code><code>=</code><code>"sweep"</code>
<code> </code><code>android:uselevel</code><code>=</code><code>"false"</code> <code>/></code>
<code> </code><code></</code><code>shape</code><code>></code>
<code></</code><code>rotate</code><code>></code>
<code> </code><code>android:id</code><code>=</code><code>"@+id/progressbar2"</code>
<code> </code><code>android:indeterminatedrawable</code><code>=</code><code>"@drawable/loading_color"</code> <code>/></code>
三、使用一張圖檔進行自定義
定義res/drawable/loading_img.xml如下:
<code><</code><code>layer-list</code> <code>xmlns:android</code><code>=</code><code>"http://schemas.android.com/apk/res/android"</code> <code>></code>
<code> </code><code><</code><code>item</code><code>></code>
<code> </code><code><</code><code>rotate</code>
<code> </code><code>android:drawable</code><code>=</code><code>"@drawable/exchange_loading"</code>
<code> </code><code>android:fromdegrees</code><code>=</code><code>"0.0"</code>
<code> </code><code>android:pivotx</code><code>=</code><code>"50.0%"</code>
<code> </code><code>android:pivoty</code><code>=</code><code>"50.0%"</code>
<code> </code><code>android:todegrees</code><code>=</code><code>"360.0"</code> <code>/></code>
<code> </code><code></</code><code>item</code><code>></code>
<code></</code><code>layer-list</code><code>></code>
<code> </code><code>android:id</code><code>=</code><code>"@+id/progressbar3"</code>
<code> </code><code>android:layout_width</code><code>=</code><code>"wrap_content"</code>
<code> </code><code>android:layout_height</code><code>=</code><code>"wrap_content"</code>
<code> </code><code>android:indeterminate</code><code>=</code><code>"false"</code>
<code> </code><code>android:indeterminatedrawable</code><code>=</code><code>"@drawable/lodaing_img"</code>
<code> </code><code>/></code>