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

翻文档找到下面介绍

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.

翻译就是,

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

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

还有该功能是android第一个版本就已经提供的方法。 所有可以跨任意android版本使用。

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

按照上面的思路,做个demo吧。

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

废话不多说,上关键代码:

1.  布局代码(核心)

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

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity"

android:clipChildren="false"

android:clipToPadding="false">

android:id="@+id/img1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:src="@drawable/ic_launcher" />

android:id="@+id/img2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:src="@drawable/ic_launcher" />

android:id="@+id/img3"

android:onClick="AA"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:background="@android:color/black"

android:src="@drawable/ic_launcher" />

android:id="@+id/img4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:src="@drawable/ic_launcher" />

android:id="@+id/img5"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:src="@drawable/ic_launcher" />

android:id="@+id/img6"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:src="@drawable/ic_launcher" />

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

xmlns:android="http://schemas.android.com/apk/res/android"

android:fromXScale="1.0"

android:fromYScale="1.0"

android:toXScale="3.0"

android:toYScale="3.0"

android:duration="2000"

android:pivotX="50%"

android:pivotY="50%"

>

package com.example.clipchildren;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.widget.ImageView;

import android.widget.Toast;

public class MainActivity extends Activity {

//只对第三个小人做放大动作

ImageView image3 =null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

}

@Override

public boolean onCreateOptionsMenu(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 void AA(View view) {

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

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

image3.startAnimation(an);

}

}

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

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

css3-12 transform:scale(1.2,1.2)实现移入元素变大特效

css3-12 transform:scale(1.2,1.2)实现移入元素变大特效 一.总结 一句话总结:transform:scale(1.2,1.2)鼠标移入的时候变大一点点,超出边框的部分隐藏 ...

Android模仿三星手机系统滑动条滑动时滑块变大的特效

使用三星手机的过程中发现三星手机系统自带的滑动条有一个特效.比方调节亮度的滑动条.在滑动滑块的过程中,滑块会变大.功能非常小可是体验却非常好,于是决定做一个这种效果出来.好了废话不多说了,以下開始实现 ...

Android RecyclerView使用GridLayoutManager导致间隙变大的问题

我用recyclerView的时候设置LayoutManager为Grid,添加decoration为Grid,作为二级列表时,多次点击一级列表来跳转的时候,两张图之间的间隙在逐渐变大,后来发现是因为 ...

Android开发实战(二十一):浅谈android:clipChildren属性

实现功能: 1.APP主界面底部模块栏 2.ViewPager一屏多个界面显示 3......... 首先需要了解一下这个属性的意思 ,即 是否允许子View超出父View的返回,有两个值true . ...

iframe ios中h5页面 样式变大

实际项目开发中,iframe在移动设备中使用问题还是很大的,说一说我的那些iframe坑 做过的这个后台管理框架,最开始的需求是PC,但随着业务需要,需要将项目兼容到ipad,后台的框架也是使用的开源 ...

Linux use apktool problem包体变大GLIBC2.14等问题

Linux服务器在线打包遇到的问题 转载请标明出处: https://dujinyang.blog.csdn.net/article/details/80110942 本文出自:[奥特曼超人的博客] ...

android:clipChildren属性的作用

该属性默认为true,这个属性需要添加到最顶层的ViewGroup,作用是控制子View是否可以超出它所在的父View设定的边界 比如ImageView设置高度100dp,而它所在的父View设置的高 ...

CSS3实现鼠标移动到图片上图片变大

CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义

css3实现逐渐变大的圆填充div背景的效果

手机端现在的一些应用会运用上这样一个效果,就是duang的一下出现一个圆变大直到填充整个div,动感十足. 想到css3的scale属性,就自己来实现一下.

SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束

一直在关注软件设计方面,数据库方面就忽略了很多,最近在设计数据库时遇到了一些小麻烦,主要是数据库中约束和性能调优方面的应用,以前在学习 Sql Server 2000,还有后来的 Sql Server ...

C#.NET开源项目、机器学习、Power BI

[总目录]本博客博文总目录-实时更新   阅读目录 1.开源Math.NET基础数学类库使用系列 2.C#操作Excel组件Spire.XLS文章目录 3.彩票数据资料库文章 4.数据挖掘与机器学习相 ...

mycat下mysql jdbc connector使用高版本报PacketTooBigException异常

如下所示: 5.1.30切换为mysql-connector 5.1.46/40,报错,可参考https://blog.csdn.net/n447194252/article/details/7530 ...

如何使用Jfreechart生成柱状图?

JFreeChart是JAVA平台上的一个开放的图表绘制类库. 首先 (http://www.jfree.org /jfreechart) 总这个网址下载所需要的库,然后解压,放在某个地方. 我们默认 ...

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

  1. android xml 未能解析文件,Android Studio提示“无法解析符号”,但项目已编译

    我在build.gradle中使用以下内容在AndroidStudio中导入twitter4j: dependencies { compile 'com.android.support:support ...

  2. android xml导进数据库,Android通过xml文件配置数据库

    之前一段时间自己封装了两个数据库,一个是ORM数据库,另一个是事件流数据库,项目相应的地址如下: ORM数据库:https://github.com/wenjiang/SimpleAndroidORM ...

  3. android xml sax解析,《android用SAX解析xml》

    主要的Acivity package com.xml.xml; import java.io.Serializable; import java.util.ArrayList; import java ...

  4. android xml通知栏权限配置,Android开发中 AndroidManifest.xml配置之service,receiver标签配置详解...

    本文主要来分享service,receiver标签配置.如有错误,欢迎指正. android:directBootAware=["true" | "false" ...

  5. android xml画圆,Android自定义View画圆功能

    本文实例为大家分享了Android自定义View画圆的具体代码,供大家参考,具体内容如下 引入布局 xmlns:tools="http://schemas.android.com/tools ...

  6. android.xml设置全屏,Android全屏设置的方法总结

    Android 有两种方式可以设置全屏. 第一种方式:在protected void onCreate(Bundle savedInstanceState) 里面的this.setContentVie ...

  7. android xml文件操作类,android操作xml

    android操作xml封装后的类,包括创建xml和读xml. public class XmlParserUtil { //创建xml文件 public static void createXmlF ...

  8. android xml引用系统资源文件,android开发教程之系统资源的使用方法 android资源文件...

    一.颜色资源 1.颜色XML文件格式 //resources根元素 #000000 //color子元素 2.引用格式: java代码中:R.color.color_name  (这是一个int型的数 ...

  9. android xml 未能解析文件,Android Studio中“无法解析符号R”

    这是一个非常古老的问题,但它仍然发生了很多,这里没有真正全面的答案. 我遇到这个问题的次数比我想承认的要多. 它可能是由各种各样的问题引起的,这些问题主要与您的项目结构不符合预期的问题有关. 这是我所 ...

最新文章

  1. webkit qt版快速编译 支持wml版本
  2. erlang-百度云推送Android服务端功能实现-erlang
  3. Linux课程---11、Linux中软件安装和调试
  4. Python 标准化 - 使用logging
  5. 常量与格式化输出练习
  6. mobx中跟新了数据视图没变化_【第1781期】MobX 简明教程
  7. 如何设置基于Windows 2000/2003/20008平台下的智能域名服务器
  8. git init、git status、git config user.name、git add、git commit、git remote、git push、git clone、git pull
  9. Photoshop 2020 for Mac(PS 2020)中英双版
  10. 常见的系统故障及排除
  11. Java基础continue语句
  12. 拉普拉斯变换的matlab仿真,拉普拉斯变换的Matlab求解方法
  13. 太厉害了!28岁任北大博导的她,再获科学大奖!
  14. 星星之火-10:移动通信中的用户标识大汇总以及在手机呼叫流程中的使用--MSISDN,MSRN,IMSI,TMSI,PCI, CGI
  15. NestJS 7.x 折腾记: (3) 采用nestjs-pino作为Nest logger
  16. Java项目:JavaWeb实现网上图书商城系统
  17. Maven Archetype 开发
  18. 可以设置过期时间的Java缓存Map
  19. 由Asset中的double free引发的Android系统及APP崩溃问题分析
  20. 清北学堂2019.7.17

热门文章

  1. java filter chain_Filter及FilterChain的使用详解
  2. 《论文阅读》CEM: Commonsense-aware Empathetic Response Generation
  3. 安贫乐道 = 心态好
  4. 这才是学习Linux的正确姿势
  5. 性能测试——评价指标选取
  6. VR/AR安全教育解决方案
  7. 支付宝支付,支付宝手机网页支付
  8. Egg.js上传图片到对象存储COS并按照日期存储图片
  9. 说话如何才能不得罪人
  10. mysql fulltext 没有结果_MySQL中的FULLTEXT搜索不返回任何行