毕设网站建设论文,上海企业信用信息公示系统官网,骏域网站建设,利用国外网站文章图片做书营利其实用自定义View也可以实现#xff0c;我比较懒#xff0c;就用LayerDrawable来创建一个新的Drawable资源实现。 举例4宫格#xff0c;9宫格原理类似#xff0c;每个图标的位置需要用边距慢慢调成预期的效果
效果如下#xff1a;
双人头像#xff1a; 三人头像#x… 其实用自定义View也可以实现我比较懒就用LayerDrawable来创建一个新的Drawable资源实现。 举例4宫格9宫格原理类似每个图标的位置需要用边距慢慢调成预期的效果
效果如下
双人头像 三人头像 四人头像 实现
/*** 使用LayerDrawable生成四宫格头像包含双人、三人头像** param drawables 头像数组* return 四宫格头像*/
private Drawable createHeaderForSms(Drawable[] drawables) {int size drawables.length;if (size 1) {return drawables[0];}int dp34 (int) context.getResources().getDimension(R.dimen.dp_34);int dp24 (int) context.getResources().getDimension(R.dimen.dp_24);int dp6 (int) context.getResources().getDimension(R.dimen.dp_6);int dp48 (int) context.getResources().getDimension(R.dimen.dp_48);LayerDrawable la new LayerDrawable(drawables);// 其中第一个参数为层的索引号后面的四个参数分别为left、top、right和bottomswitch (drawables.length) {case 2:la.setLayerInset(0, 0, 0, dp34, dp34);la.setLayerInset(1, dp34, dp34, 0, 0);break;case 3:la.setLayerInset(0, dp24, dp6, dp24, dp48);la.setLayerInset(1, 0, dp48, dp48, dp6);la.setLayerInset(2, dp48, dp48, 0, dp6);break;case 4:la.setLayerInset(0, 0, 0, dp48, dp48);la.setLayerInset(1, dp48, 0, 0, dp48);la.setLayerInset(2, 0, dp48, dp48, 0);la.setLayerInset(3, dp48, dp48, 0, 0);break;}return la;
}