android 头像组合效果实现

项目中用到,百搜不得,自己琢磨了下。

大概原理是先设想一个要合成的图片的大小,然后根据要合成的图片的个数以及要展示的位置进行计算,生成坐标系的配置。






然后利用android的绘图把要合成的头像根据坐标系(根据配置导入)进行拼接。


创建一个java工程实现坐标系,生成config文件。

http://download.csdn.net/detail/tiantianshangcha/5891775

导入android项目中 利用绘图合成

http://download.csdn.net/detail/tiantianshangcha/5891797

最终效果如图:









记录下来,方便以后回望。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
可生成圆形、方形、及方形的组合头像。项目地址:https://github.com/Pedroafa/avatar-android 效果图:如何使用:首先创建个ImageView<ImageView             android:id="@ id/roundedAvatar"             android:layout_height="fill_parent"             android:layout_width="fill_parent"/>2. //通过AvatarDrawableFactory生成各种形状的Drawable AvatarDrawableFactory avatarDrawableFactory = new AvatarDrawableFactory(getResources()); BitmapFactory.Options options = new BitmapFactory.Options(); options.inMutable = false; Bitmap avatar = BitmapFactory.decodeResource(getResources(), R.drawable.avatar, options); //圆形的 Drawable roundedAvatarDrawable = avatarDrawableFactory.getRoundedAvatarDrawable(avatar);//生成圆形的Drawable ImageView roundedAvatarView = (ImageView)rootView.findViewById(R.id.roundedAvatar); roundedAvatarView.setImageDrawable(roundedAvatarDrawable);其他形状的://圆形的且带边框的 Drawable borderedRoundedAvatarDrawable = avatarDrawableFactory.getBorderedRoundedAvatarDrawable(avatar); ImageView borderedRoundedAvatarView = (ImageView)rootView.findViewById(R.id.borderedRoundedAvatar); borderedRoundedAvatarView.setImageDrawable(borderedRoundedAvatarDrawable); //方形的 Drawable squaredAvatarDrawable = avatarDrawableFactory.getSquaredAvatarDrawable(avatar); ImageView squaredAvatarView = (ImageView)rootView.findViewById(R.id.squaredAvatar); squaredAvatarView.setImageDrawable(squaredAvatarDrawable); //俩个方形的组合头像 Drawable doubleSquaredAvatarDrawable = avatarDrawableFactory.getSquaredAvatarDrawable(avatar, avatar); ImageView doubleSquaredAvatarView = (ImageView)rootView.findViewById(R.id.doubleSquaredAvatar); doubleSquaredAvatarView.setImageDrawable(doubleSquaredAvatarDrawable); //三个方形的组合头像 Drawable tripleSquaredAvatarDrawable = avatarDrawableFactory.getSquaredAvatarDrawable(avatar, avatar, avatar); ImageView tripleSquaredAvatarView = (ImageView)rootView.findViewById(R.id.tripleSquaredAvatar); tripleSquaredAvatarView.setImageDrawable(tripleSquaredAvatarDrawable); //四个方形的组合头像 Drawable quadrupleSquaredAvatarDrawable = avatarDrawableFactory                     .getSquaredAvatarDrawable(avatar, avatar, avatar, avatar); ImageView quadrupleSquaredAvatarView = (ImageView)rootView.findViewById(R.id.quadrupleSquaredAvatar); quadrupleSquaredAvatarView.setImageDrawable(quadrupleSquaredAvatarDrawable);
实现 Android 头像重叠效果的方法有很多种,下面介绍其中一种比较简单的方法: 1. 首先,将多个头像图片放入一个 LinearLayout 中,并设置 LinearLayout 的方向为水平方向。 2. 然后,给每个头像图片添加一个 margin 值,使得它们之间有重叠的效果。可以通过在 XML 中设置 layout_margin 属性或者在 Java 代码中设置 MarginLayoutParams 来实现。 3. 最后,为每个头像图片添加一个阴影效果,使得它们看起来更加立体。可以通过在 XML 中设置 android:elevation 属性或者在 Java 代码中调用 View.setElevation() 方法来实现。 具体实现细节可以参考下面的代码示例: ``` <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/avatar1" android:layout_marginLeft="-50dp" android:elevation="4dp"/> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/avatar2" android:layout_marginLeft="-40dp" android:elevation="4dp"/> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/avatar3" android:layout_marginLeft="-30dp" android:elevation="4dp"/> </LinearLayout> ``` 上面的代码实现了三个头像图片的重叠效果,并为每个头像图片添加了阴影效果。你可以根据自己的需求调整头像图片的数量、大小、重叠程度和阴影效果等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值