效果图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
改动progressbar 让他满足自己的需求一般来说仅仅改动一下,progressbar的style就能够满足需求了:
activity代码:只显示一个布局而已
package com.example.testcustomprogressbar;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
xml界面:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.testcustomprogressbar.MainActivity" >
android:id="@+id/my_customprogressbar1"
style="@style/mycustom_progressbar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
android:id="@+id/my_customprogressbar2"
style="@style/mycustom_progressbar2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/my_customprogressbar1"
android:layout_below="@+id/my_customprogressbar1"
android:layout_marginTop="26dp" />
android:id="@+id/my_customprogressbar3"
style="@style/mycustom_progressbar3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/my_customprogressbar2"
android:layout_below="@+id/my_customprogressbar2"
android:layout_marginTop="26dp" />
android:id="@+id/my_customprogressbar4"
style="@style/mycustom_progressbar_hor"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/my_customprogressbar3"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:max="100"
android:progress="40"
android:secondaryProgress="60" />
android:id="@+id/my_customprogressbar5"
style="@style/mycustom_progressbar_hor2"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/my_customprogressbar4"
android:layout_below="@+id/my_customprogressbar4"
android:layout_marginTop="26dp"
android:max="100"
android:progress="40"
android:secondaryProgress="60" />
第一种圆形progressbar 只让一个图片旋转起来:
style的代码:
@drawable/progressbar_ver_image
30dp
30dp
60dp
60dp
progressbar_ver_image的代码:
xml version="1.0" encoding="utf-8"?>
android:drawable="@drawable/resizeapi"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
另外一种圆形progressbar 使用一个动画:
style:
@drawable/progressbar_ver_animation
60dp
60dp
100dp
100dp
progressbar_ver_animation的代码:
android:drawable="@drawable/ok1"
android:duration="250"/>
android:drawable="@drawable/ok2"
android:duration="250"/>
android:drawable="@drawable/ok3"
android:duration="250"/>
android:drawable="@drawable/ok4"
android:duration="250"/>
第三种圆形progressbar 使用shape来构建drawable:
@drawable/progressbar_ver_shape
60dp
60dp
100dp
100dp
progressbar_ver_shape的代码:
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false" >
android:centerColor="#FFFFFF"
android:centerY="0.50"
android:endColor="#1E90FF"
android:startColor="#000000"
android:type="sweep"
android:useLevel="false" />
第四种: 横向progressbar 复制粘贴系统的style,然后改动:
android:startColor="#ffff0000"
android:centerColor="#ffff0000"
android:centerY="0.75"
android:endColor="#ffff0000"
android:angle="270"
/>
android:startColor="#800000ff"
android:centerColor="#800000ff"
android:centerY="0.75"
android:endColor="#800000ff"
android:angle="270"
/>
>
android:startColor="#ff00ff00"
android:centerColor="#ff00ff00"
android:centerY="0.75"
android:endColor="#ff00ff00"
android:angle="270"
/>
这样直接在progressbar中引用该style就能够满足需求了,当然我们也能够把progressbar background progress secondprogress都分别定义成一个drawable,然后使用:
background:
android:angle="270"
android:centerColor="#ffff0000"
android:centerY="0.75"
android:endColor="#ffff0000"
android:startColor="#ffff0000" />
progress:
android:angle="270"
android:centerColor="#ff00ff00"
android:centerY="0.75"
android:endColor="#ff00ff00"
android:startColor="#ff00ff00" />
secondprogress:
android:angle="270"
android:centerColor="#800000ff"
android:centerY="0.75"
android:endColor="#800000ff"
android:startColor="#800000ff" />
这个时候style中的代码就会清晰一点:
xml version="1.0" encoding="utf-8"?
>
android:id="@android:id/background"
android:drawable="@drawable/progressbar_hor_bg">