标签:
---- The mark of the immature man is that he wants to die nobly for a causer while the mark of the mature man is that he wants to live humbly for one
1-1 定义显示进度指示的图形
drawable目录下progress_v_01.xml
关于shape使用详情可 查阅 点击打开链接
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--默认图形大小--> <size android:width="500dp" android:height="50dp" /> <!--填充颜色 --> <solid android:color="#6633CC" /> <!--边框角度?--> <corners android:radius="20dp" /> </shape>
效果图 1-1-1
1-2. 在drawable目录下新建一个clip标签的文件
<?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android" android:clipOrientation="horizontal" android:drawable="@drawable/progress_v_01" android:gravity="left"> </clip>
clipOrientation设置方向为水平方向
gravity设置过程中对齐方式为左
drawable 中引用要显示设置的图形
1-3.在页面布局文件中使用
在src属性下引入我们1-2中创建的clip标签的文件
<ImageView android:layout_margin="10dp" android:background="#e6e6e6" android:id="@+id/iv_image_clip_left" android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/clip_left_01"/>
1.4 在java代码中动态设置进度
private ImageView mClipLeftImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mClipLeftImageView = (ImageView) findViewById(R.id.iv_image_clip_left); mClipLeftImageView.setImageLevel(10000); handler.postDelayed(runnable,2000); } private int mUnmber = 0; private Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { if (mUnmber<=10000){ mClipLeftImageView.getDrawable().setLevel(mUnmber); handler.postDelayed(runnable,20); mUnmber+=100; } } };
2-1 定义显示进度的图片,这里使用的是1-1中定义的图形
2-2 创建clip标签文件
<?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android" android:clipOrientation="horizontal" android:drawable="@drawable/progress_v_01" android:gravity="right" > </clip>
clipOrientation设置方向为水平方向
gravity设置过程中对齐方式为右(从而达到进度从右向左的实现效果)
drawable 中引用要显示设置的图形
2-3 在布局文件中的使用 同1-3;
2-4 java代码中的设置同 1-4;
3-1 定义显示进度的图片,这里使用的是1-1中定义的图形
3-2 创建clip标签文件
<?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android" android:clipOrientation="horizontal" android:drawable="@drawable/progress_v_01" android:gravity="center_horizontal" > </clip>clipOrientation设置方向为水平方向
gravity设置过程中对齐方式 为垂直中心对齐(从而达到进度从中间向两边扩展的实现效果)
3-3 在布局文件中的使用 同 1-3;drawable 中引用要显示设置的图形
3-4 在java代码中的设置同 1-4;
4.水平向右的圆形进度条
4-1 定义使用到的显示进度的图形 drawbale目录下progress_oval_01.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <!--设置黑夜显示大小--> <size android:width="100dp" android:height="100dp" /> <!--设置图形颜色--> <gradient android:centerColor="#CC9933" android:centerX="0.5" android:centerY="0.5" android:endColor="#33FF33" android:gradientRadius="45" android:startColor="#FFFF33" android:type="radial" /> <!--设置图形边框--> <stroke android:width="2dp" android:color="#0000CC" /> </shape>4-2 创建使用到的clip文件
<?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android" android:clipOrientation="horizontal" android:drawable="@drawable/progress_oval_01" android:gravity="left" > </clip>
clipOrientation设置方向为水平方向
gravity设置过程中对齐方式 为左边对齐(从而达到进度从左边向右的扩展的实现效果)
drawable 中引用要显示设置的图形
3-3 在布局文件中的使用 同 1-3;
3-4 在java代码中的设置同 1-4;
5-1 创建显示进度的图形 这里引用的是4-1中创建的图形
5-2 创建对应显示的clip标签文件
<?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android" android:clipOrientation="horizontal|vertical" android:drawable="@drawable/progress_oval_01" android:gravity="center" > </clip>
clipOrientation设置方向为水平方向gravity设置过程中对齐方式 为中心对齐(从而达到进度从中间向两边的扩展的实现效果)
5-3 在布局文件中的使用 同 1-3;drawable 中引用要显示设置的图形
创建ImageView标签,在src属性下进行引用
5-4 在java代码中的设置同 1-4;
6-1 创建显示进度的图形
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <size android:width="5dp" android:height="100dp"/> <gradient android:angle="45" android:startColor="#FF9900" android:centerColor="#FFFF00" android:endColor="#66FF00" /> <corners android:radius="5dp"/> </shape>效果图: 6-1-1
6-2 创建对应的clip标签文件
<?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android" android:clipOrientation="vertical" android:drawable="@drawable/progress_oval_01" android:gravity="bottom" > </clip>
clipOrientation设置方向为竖直方向
gravity设置过程中对齐方式 底部(从而达到进度从底部向上增加的实现效果)
如果设置为top,那么进度将成为从上到下
6-3 在布局文件中的使用 同 1-3;drawable 中引用要显示设置的图形
创建ImageView标签,在src属性下进行引用
6-4 在java代码中的设置同 1-4;
ClipDrawable代表从其它位图上截取一个“图片片段”。在XML文件中使用<clip.../>元素定义ClipDrawable对象,可指定如下三个属性:
android:drawable:指定截取的源Drawable对象,也可以指定drawable类的子标签
android:clipOrientation:指定截取的方向,可设置为 horizontal vertical
android:gravity:指定截取时的对齐方式,可设置为top bottom right center_vertical fill_vertical center_horizontal center fill clip_vertaical start end 等等
使用ClipDrawable对象时可以调用setLevel(int level)方法来设置截取的区域大小,当level为0时,截取的图片片段为空;当level为10000时,截取整张图片。
可以使用ClipDrawable的这种性质控制截取图片的区域大小,让程序不断调用setLevel方法并改变level的值,达到让图片慢慢展开的效果
标签:
原文地址:http://blog.csdn.net/zl18603543572/article/details/51250216