android xml红心圆,用android:clipChildren来实现红心变大特效

最近在看别人技术博客(http://www.cnblogs.com/over140/p/3508335.html)的时候,发现一个属性:android:clipChildren属性。html

翻文档找到下面介绍android

Defines whether a child is limited to draw inside of its bounds or not.

Defines whether the ViewGroup will clip its drawing surface so as to exclude the padding area.

翻译就是,api

1.clipChild用来定义他的子控件是否要在他应有的边界内进行绘制。 默认状况下,clipChild被设置为true。 也就是不容许进行扩展绘制。app

2. clipToPadding用来定义ViewGroup是否容许在padding中绘制。默认状况下,cliptopadding被设置为ture, 也就是把padding中的值都进行裁切了。ide

还有该功能是android第一个版本就已经提供的方法。 全部能够跨任意android版本使用。布局

这两个属性联合起来能干什么呢? 哈, 用来作一些相似于心形放大等点击特效很是合适啊。    不用去更改布局, 只需加入这两个属相,并引入动画效果就完成了。post

按照上面的思路,作个demo吧。动画

先看看最后的效果吧, 点击第三个机器人就会播放一个变大的效果(相似于心变大的效果)this

246a250ee5b64f23aa52d310.html

废话很少说,上关键代码:url

1.  布局代码(核心)

主要看设的两个关键属性android:clipChildren和android:clipToPadding均为false。  这就让点击第三个小人时,能够跨边界进行绘制,而且容许其在padding区域内绘制。

246a250ee5b64f23aa52d310.html

246a250ee5b64f23aa52d310.html

2. 其余辅助代码,如动画和act等内容

246a250ee5b64f23aa52d310.html

246a250ee5b64f23aa52d310.html

>

246a250ee5b64f23aa52d310.html

246a250ee5b64f23aa52d310.html

246a250ee5b64f23aa52d310.html

packagecom.example.clipchildren;importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;importandroid.view.View;importandroid.view.animation.Animation;importandroid.view.animation.AnimationUtils;importandroid.widget.ImageView;importandroid.widget.Toast;public class MainActivity extendsActivity {//只对第三个小人作放大动做

ImageView image3 =null;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

image3=(ImageView) findViewById(R.id.img3);

}

@Overridepublic booleanonCreateOptionsMenu(Menu menu) {//Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);return true;

}public voidAA(View view) {

Toast.makeText(this, "aa", Toast.LENGTH_SHORT).show();

Animation an=AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anims);

image3.startAnimation(an);

}

}

246a250ee5b64f23aa52d310.html

3. 除了这种应用,网上还有其余人对这两个属性的妙用:

用viewPaper来实现一个Gallery效果:http://www.iteye.com/topic/1129898

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值