android cliptopadding java代码_android:clipToPadding属性的分析——以ListView的"别样"padding为例...

package cn.com.bravesoft.testlistviewloadmore;

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.os.Bundle;

import android.widget.ListView;

import android.widget.SimpleAdapter;

/**

* Demo描述:

* ListView或GridView中android:clipToPadding属性的使用说明示例

* 该属性的解释:

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

* 什么意思呢?就是说:

* clipToPadding属性定义了是否允许ViewGroup在padding中绘制,该值默认为true,即不允许.

* 所以若我们给ListView设置了android:paddingTop="70dip" android:paddingBottom="70dip"

* 那么我们可以看到ListView的头部以上和尾部以下都占有70大小的padding,在滑动ListView的过程

* 中这个padding当然是存在的.在padding部分是看不到ListView的item的,本质上是在这两部分没有绘制

* 我们的ListView

* 假若我们此时为ListView设置属性android:clipToPadding="false",同样再滑动ListView此时可以

* 发现在ListView的头部以上和尾部以下都占有70大小的padding部分依然可以显示我们的ListView的

* item,本质上是在这两部分绘制了我们的ListView

*

* 该属性很适合的应用场景:

* 设置ListView的第一个(最后一个)Item距离屏幕TOP(BOTTOM)有一段距离的情况

*

*

* 参考资料:

* http://www.cnblogs.com/xitang/p/3606578.html

* Thank you very much

*/

public class MainActivity extends Activity {

private ListView mListView;

private SimpleAdapter mSimpleAdapter;

private HashMap mHashMap;

private ArrayList> mArrayList;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

init();

}

private void init(){

mListView=(ListView) findViewById(R.id.listView);

mArrayList=new ArrayList>();

addDataForListView();

mSimpleAdapter=new SimpleAdapter

(MainActivity.this, mArrayList, R.layout.listviewitem, new String []{"id"},new int []{R.id.textView});

mListView.setAdapter(mSimpleAdapter);

}

private void addDataForListView(){

for (int i = 0; i < 30; i++) {

mHashMap=new HashMap();

mHashMap.put("id", ""+i);

mArrayList.add(mHashMap);

}

}

}

main.xml如下:

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

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:id="@+id/listView"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_centerInParent="true"

android:clipToPadding="false"

android:paddingTop="70dip"

android:paddingBottom="70dip"

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

android:cacheColorHint="#00000000"

/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值