android LayerDrawable 及layer-list

看QQ布局在drawable下建立一个xml文件

<?xml version="1.0" encoding="UTF-8"?>  
 <layer-list  
   xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!--图片1-->
     <item android:id="@+id/user_faceback_drawable"
           android:drawable="@drawable/faceback" />  
    <!--图片2-->
     <item android:id="@+id/user_face_drawable" 
           android:drawable="@drawable/h001"   
           android:left="10.0dip" 
           android:top="18.0dip" 
           android:right="25.0dip" 
           android:bottom="35.0dip" />  
 </layer-list> 
<!--2个图片的叠加-->




效果图

           +                    =           

  user_faceback_drawble     h001


二、在代码中使用


public void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 


Drawable[] drawables=new Drawable[2]; 
drawables[0]=getResources().getDrawable(R.drawable.faceback);
drawables[1]=getResources().getDrawable(R.drawable.h001); 

LayerDrawable layer=new LayerDrawable(drawables); 
layer.setLayerInset(0, 0, 0, 0, 0); //设置第一张图片上左下右间距
layer.setLayerInset(1, 10, 18, 25, 35);  //设置第二张图片上左下右间距,单位都是px

ImageView imageView=(ImageView)findViewById(R.id.imgView); 
imageView.setImageDrawable(layer); 
} 



效果和上面布局的一样,不过在代码中创建的,尺寸大小要比在布局文件中创建的小

那是因为layer.setLayerInset(1, 10, 18, 25, 35);设置图片间距时用的是px,而在xml布局

文件中用的是dp


转自:http://hi.baidu.com/jwq359699768/item/f4b4de02c0d7948e02ce1b00


你可能感兴趣的:(layer-list,layerdrawable)