Skip to content

Instantly share code, notes, and snippets.

@brucetoo
Last active August 29, 2015 14:26
Show Gist options
  • Save brucetoo/c956a4e92d8ebf9415ec to your computer and use it in GitHub Desktop.
Save brucetoo/c956a4e92d8ebf9415ec to your computer and use it in GitHub Desktop.
自定义ProgressBar
<ProgressBar
android:id="@+id/mgsdk__progressBar_loading"
style="@android:style/Widget.ProgressBar.Inverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp"
android:background="@drawable/mgsdk__progress_bg"
android:indeterminateDrawable="@drawable/mgsdk__progress" />
style 分很多种 比如水平的 Widget.ProgressBar.Horizontal
background 是整个progressbar的背景
indeterminateDrawable 在此表示转圈的drawable
mgsdk__progress.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/mgsdk__progress_indeterminate"//转圈的图片
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
</rotate>
水平progress的自定义的简单实例
<ProgressBar
android:id="@+id/mgsdk__upload_mini_progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="3dp"
android:layout_marginTop="1dp"
android:max="100"
android:progress="20"
android:visibility="gone"
android:progressDrawable="@drawable/mgsdk__progress_mini" />
----------------------
mgsdk__progress_mini.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/background"> <!-- progress背景 item 也最好用 clip 提高性能 -->
<shape>
<corners android:radius="5dp"/>
<solid android:color="#3c3c3c"/>
</shape>
</item>
<item android:id="@android:id/progress"> <!-- 进度控制的部分 -->
<clip > <!--用clip是使progressbar没有显示的部分在绘制中不被绘制出,提高性能 -->
<shape>
<corners android:radius="5dp"/> <!-- progressbar圆角处理 -->
<solid android:color="#DF322E"/>
</shape>
</clip>
</item>
</layer-list>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment