【Android】神奇的android:clipChildren属性

前言

前几天有在微博上推荐过一个博客,看他文章时发现了这个属性。有些属性不常用,但需要的时候非常有用,于是做了个例子,正好项目用到,与大家分享一下。

声明

欢迎转载,请注明出处!

博客园:http://www.cnblogs.com/

农民伯伯: http://www.cnblogs.com/over140/

正文

一、效果图

看到这个图时你可以先想想如果是你,你怎么实现这个效果。马上想到用RelativeLayout?NO,NO,NO,,,

二、实现代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false"
    android:orientation="vertical" >

<android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1.0" />

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="48dip"
        android:background="#B0C4DE"
        android:orientation="horizontal" >

<ImageView
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher" />

<ImageView
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher" />

<ImageView
             android:layout_width="0dip"
            android:layout_height="64dip"
            android:layout_gravity="bottom"
            android:layout_weight="1.0"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher" />

<ImageView
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher" />

<ImageView
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

</LinearLayout>

代码说明:

1、只需在根节点设置android:clipChildren为false即可,默认为true

2、可以通过android:layout_gravity控制超出的部分如何显示。

3、android:clipChildren的意思:是否限制子View在其范围内

三、 其他

在做动画的时候非常有用(听说的,,,回头写例子试试看)

时间: 2024-10-13 16:58:18

【Android】神奇的android:clipChildren属性的相关文章

Android_神奇的android:clipChildren属性

正文 一.效果图 看到这个图时你可以先想想如果是你,你怎么实现这个效果.马上想到用RelativeLayout?NO,NO,NO,,, 二.实现代码 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="

android:clipChildren属性的分析——是否剪裁子View

MainActivity如下: package cc.testclipchildren; import android.os.Bundle; import android.app.Activity; /** * android:clipChildren属性的分析 * 该属性默认值为android:clipChildren="true" * 单从字面意思理解clipChildren的意思是:裁剪(缩短)孩子 * 我们将其值设置为false后那么当子控件的高度高于父控件时 * 也会完全显示

浅谈android:clipChildren属性

实现功能: 1.APP主界面底部模块栏 2.ViewPager一屏多个界面显示 3......... 首先需要了解一下这个属性的意思 ,即 是否允许子View超出父View的返回,有两个值true .false  ,默认true 使用的时候给子View和根节点View控件都设置android:clipChildren="false",那么这个子View就不会限制在父View当中 ------------------------------------------------------

Android - Layout clipChildren属性

Android - Layout clipChildren属性 本文地址: http://blog.csdn.net/caroline_wendy android:clipChildren: Defines whether a child is limited to draw inside of its bounds or not. 子控件是否它的范围之内,默认是true,如果设为false,则子控件可以溢出,需要设置padding为负值. clip修剪,clip children就是"修剪子控

android:clipchildren属性

1.android:clipchildren属性,clip的原意为裁剪,clipchildren表示是否裁剪子View,当此属性的值为false时,子View的大小可以超过父View的大小. 2.超过的部分是不能响应点击事件的,这个ViewGroup的源码是很明显的.特殊效果我们必须换一种实现方式,比如把此View的parent换成最外层View就解决了点击事件的问题. 原文地址:https://www.cnblogs.com/jianglijs/p/9386450.html

Padding与绘制区域--android:clipToPadding和android:clipChildren

设计一个界面,整个界面包含一个listview,但是listview不是全部充满屏幕,如下: 可能会这样设计布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:l

android:clipToPadding和android:clipChildren

假设我们要做一个效果,界面最顶部是一个ActionBar并且是半透明的,ActionBar下面是一个ListView,在初始状态 下,ListView是top是在ActionBar的bottom位置的,但当ListView滚动的时候可以透过ActionBar看到下面的 ListView的内容.如下面两张图所示: 正常态: 滚动态: 乍一看,不是很简单吗,只要设置一下marginTop或者paddingTop就可以了,但问题是只用这两个其中一个属性的话,ListView 滑动的时候就不能滚到pad

【Android】Android布局文件的一些属性值

第一类:属性值 true或者 false android:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_alignParentLeft 贴紧父元素的左边缘android:layout_alignParentRight 贴紧父元素的

android:clipToPadding 和 android:clipChildren

android:clipToPadding 如果设置为true,表示在Padding位置不绘制,默认为true,于是可以理解为绘制的时候保留padding. 当listview gridview scrollview 设置android:clipToPadding = false时,向上滑动时Padding将会被填充. ---------------------------------------------涯上月灬指香专用分隔线---------------------------------