Drawable子类——ClipDrawable

来源:互联网 发布:大数据盈利点 编辑:程序博客网 时间:2024/06/04 18:55

ClipDrawable 对应标签 clip 可以根据自己当前的等级来裁剪drawable,剪裁方向可以通过 android:clipOrientation和android:gravity两个属性来共同控制
ClipDrawable也是有等级的,等级范围是0到10000,等级0表示完全裁剪(不可见了),等级10000表示不裁剪,所以必须在代码中设置等级,才会显示效果,如果等级设为4000即表示裁剪了6000.

比较难理解,直接上图上代码

clip_drawable.xml

<?xml version="1.0" encoding="utf-8"?><clip xmlns:android="http://schemas.android.com/apk/res/android"      android:clipOrientation="horizontal"      android:gravity="left"      android:drawable="@mipmap/img"></clip>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:id="@+id/imgView"        android:gravity="center"        android:src="@drawable/clip_drawable"        android:layout_width="300dp"        android:layout_height="300dp"/></RelativeLayout>

MainActivity.java

package com.zhoujian.drawable;import android.graphics.drawable.ClipDrawable;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;public class MainActivity extends AppCompatActivity{    private ImageView imgeview;    @Override    protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imgeview= (ImageView) findViewById(R.id.imgView);        ClipDrawable mScaleDrawable  =(ClipDrawable)imgeview.getDrawable();        mScaleDrawable.setLevel(5000);    }}

clip 标签设置不同的clipOrientation和gravity显示效果不同(个人感觉理解起来,有点费解),不说了直接上图

(1) android:clipOrientation=”horizontal”
android:gravity=”left”
剪裁后的图片为:
这里写图片描述

(2)android:clipOrientation=”horizontal”
android:gravity=”right”
剪裁后的图片为:
这里写图片描述

(3)android:clipOrientation=”vertical”
android:gravity=”top”
剪裁后的图片为:
这里写图片描述

(4)android:clipOrientation=”vertical”
android:gravity=”bottom”
剪裁后的图片为:
这里写图片描述

(5)android:clipOrientation=”horizontal”
android:gravity=”center”
剪裁后的图片为:
这里写图片描述

(6)android:clipOrientation=”vertical”
android:gravity=”center”
剪裁后的图片为:
这里写图片描述

0 0
原创粉丝点击