您的位置:首页 > 移动开发 > Android开发

android控件中的一些重要属性(一)

2016-12-24 22:25 302 查看
一、clipToPadding的使用

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

主要用途:常常用于paddingTop,假设 内部有个属性设置了paddingTop但是滑动的时候就忽视paddingTop的 则使用该属性 

设置android:clipToPadding=false

1、android:clipToPadding=true

<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingTop="20dp"
/>




2、android:clipToPadding="false"

<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingTop="20dp"
android:clipToPadding=false
/>



可以看到,滚动的时候,忽略了paddingTop。

二、clipChild

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

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

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dip"
android:layout_centerInParent="true"
android:orientation="horizontal" >

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

<ImageView
android:layout_width="0dip"
android:layout_height="70dip"
android:layout_gravity="bottom"
android:background="@color/red"
android:layout_weight="1.0"
android:scaleType="fitCenter"
android:src="@drawable/img" />

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

</RelativeLayout>


其中中间那个ImageView的高度为70dp,超出了父控件LinearLayout的50dp.

效果图如下:



1、在根节点设置android:clipChildren为false,允许子View超出其范围绘制

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

比如:android:layout_gravity=bottom



比如:android:layout_gravity=center



另外,android:clipChildren=false也常用于ViewPager,用来实现类似Gralley的效果。

具体可参照:http://blog.csdn.net/u011494050/article/details/41183061

三、fitsSystemWindows

当设置android:fitsSystemWindows = true时,系统会为该view设置paddingTop(大小等于状态栏的高度)

具体可参照 http://blog.csdn.net/u010389391/article/details/52859207
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: