LayerDrawable类

1,介绍:
  • 一个LayerDrawable是一个可以管理一组drawable对象的drawable。在LayerDrawable的drawable资源按照列表的顺序绘制,列表的最后一个drawable绘制在最上层。
 
2, LayerDrawable对于xml的标签是其语法如下:



 

 
【1】 一个layer-list可以包含多个item,而每个item则表示一个Drawable。下面我们来说明一下item的一些属性 

属性

解析

android:id 

资源ID,一个为这个item定义的唯一的资源ID。 使用:”@+id/name”.这样的方式。可以检索或修改这个drawable通过下面的方式:View.findViewById() or Activity.findViewById(). 

android:top 

Integer,Drawable相对于View的顶部的偏移量,单位像素 

android:right 

Integer,Drawable相对于View的右边的偏移量,单位像素 

android:bottom 

Integer,Drawable相对于View的底部的偏移量,单位像素 

android:left 

Integer,Drawable相对于View的左边的偏移量,单位像素 

android:drawable 

Drawable资源,可以引用已有的drawable资源,也可在item中自定义Drawable。默认情况下,layer-list中的Drawable都会被缩放至View的大小,因此在必要的情况下,我们可以使用android:gravity属性来控制图片的展示效果,防止图片变形或者被过度拉伸。

 
 
1,介绍:
  • 一个LayerDrawable是一个可以管理一组drawable对象的drawable。在LayerDrawable的drawable资源按照列表的顺序绘制,列表的最后一个drawable绘制在最上层。
 
2, LayerDrawable对于xml的标签是其语法如下:



 

 
【1】 一个layer-list可以包含多个item,而每个item则表示一个Drawable。下面我们来说明一下item的一些属性 
 
属性
解析
android:id 
资源ID,一个为这个item定义的唯一的资源ID。 使用:”@+id/name”.这样的方式。可以检索或修改这个drawable通过下面的方式:View.findViewById() or Activity.findViewById(). 
android:top 
Integer,Drawable相对于View的顶部的偏移量,单位像素 
android:right 
Integer,Drawable相对于View的右边的偏移量,单位像素 
android:bottom 
Integer,Drawable相对于View的底部的偏移量,单位像素 
android:left 
Integer,Drawable相对于View的左边的偏移量,单位像素 
android:drawable 
Drawable资源,可以引用已有的drawable资源,也可在item中自定义Drawable。默认情况下,layer-list中的Drawable都会被缩放至View的大小,因此在必要的情况下,我们可以使用android:gravity属性来控制图片的展示效果,防止图片变形或者被过度拉伸。
【2】 当然我们也可以在代码中实现这里仅给出示例
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.image1);
Drawable[] drawables=new Drawable[3];
drawables[0]=new BitmapDrawable(bitmap);
drawables[1]=new BitmapDrawable(bitmap);
drawables[2]=new BitmapDrawable(bitmap);
LayerDrawable layer=new LayerDrawable(drawables);
//设置图层边界距离
layer.setLayerInset(0, 20, 20, 0, 0);
layer.setLayerInset(1, 40, 40, 0, 0);
layer.setLayerInset(2, 60, 60, 0, 0);
ImageView imageView=(ImageView)findViewById(R.id.imgView);
imageView.setImageDrawable(layer);

 

 
3, 利用layer-list的叠层效果实现一个文本输入框的底部横线背景。
【1】实现效果:
 
【2】 实现代码:
  • layer_drawable文件


    
      
          
      
    

    
        
            
        
    

    
        
            
        
    

 

 
  •  应用到EditText上的代码:
    

 

 
4, 利用标签来实现一个带阴影的圆角矩形
【1】实现效果:
LayerDrawable类_第1张图片
 
【2】实现代码:


    
    
        
            
            
        
    
    
    
        
            
            
        
    

 

 
 
更多关于Drawable 资料: https://blog.csdn.net/cricket_7/category_9564229.html
 
 
 
 
 
 

 

你可能感兴趣的:(LayerDrawable类)