关闭

android:clipToPadding属性的分析——以ListView的"别样"padding为例

11349人阅读 评论(3) 收藏 举报
分类:
MainActivity如下:
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<String, Object> mHashMap;
	private ArrayList<HashMap<String, Object>> 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<HashMap<String,Object>>();
		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<String, Object>();
			mHashMap.put("id", ""+i);
			mArrayList.add(mHashMap);
		}
	}
	

}


main.xml如下:
<RelativeLayout 
    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"
    >

    <ListView
        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"
     />

</RelativeLayout>


5
0
查看评论

listView及ScrollView等PadingTop显示问题:android:clipToPadding="false"

[摘要:本日忙逛看到一个属性 android:clipToPadding=”false” ,挺好用的,纪录一下.本文正在那http://www.imooc.com/wenda/detail/245687 默许是true.首要后果便是,比方一个listView设置] 今天闲逛看到一个属性 andro...
  • a910626
  • a910626
  • 2016-08-05 11:15
  • 1280

[Android] ListView/GridView 滚动时动态填充空白边距padding(android:clipToPadding)

ListView GridView 滚动时动态填充页面padding
  • csdn_lexli
  • csdn_lexli
  • 2016-09-13 23:27
  • 929

Android布局属性android:clipToPadding的UI设计妙用

 Android布局属性android:clipToPadding的UI设计妙用 一个简单的UI效果场景。顶部一个半透明Toolbar,然后下面是一个ListView,要求ListView在初始状态下(即未触发任何滑动事件情况下)的item全部在Toolbar下面显示,当用户的手指由下往...
  • zhangphil
  • zhangphil
  • 2015-09-23 14:43
  • 14350

clipToPadding和clipChildren

clipToPadding解决listview滚动问题这部分参考http://blog.csdn.net/hpu_zyh/article/details/44520949有时候需要在listview里设置一个padding值,布局如下所示<LinearLayout xmlns:android=...
  • litefish
  • litefish
  • 2016-09-08 14:35
  • 2297

Android ViewPager 属性clipToPadding的巧妙用法

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:...
  • hua631150873
  • hua631150873
  • 2017-06-23 15:43
  • 817

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

设计一个界面,整个界面包含一个listview,但是listview不是全部充满屏幕,如下:可能会这样设计布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns...
  • u011282069
  • u011282069
  • 2015-03-21 19:38
  • 8585

android 关于 clipToPadding 和 clipChildren区别和作用

android 关于 clipToPadding 和 clipChildren区别和作用对于这两个属性那也是很神奇, 1.对于clipToPadding 默认是true, 这个属性一般都是viewgrounp对象才会用到, 他的意思就是 对于padding 所占的尺寸大小也绘制 其他的item的v...
  • WangRain1
  • WangRain1
  • 2017-04-07 17:13
  • 2660

android:clipToPadding的使用

1.系统默认: android:clipToPadding=true主要用途:常常用于paddingTop,假设 内部有个属性设置了PaddingTop但是滑动的时候就忽视paddingTop的 则使用该属性 如设置android:clipToPadding=false:正常态: ...
  • u012342082
  • u012342082
  • 2016-01-28 10:42
  • 3889

如何去掉ListView设置Padding属性后出现的空白边距?

重点是给ListView添加: android:clipToPadding="false"同样适用于其他可以滚动的控件。 未添加的效果: 添加后的效果:
  • BingShuShu
  • BingShuShu
  • 2014-12-24 16:28
  • 2202

listview的属性 clipToPadding

在写代码的时候我们经常会碰到给lv的第一个条目和最后一个条目加一些空间,这样是为了美观,。。。免得条目都跟手机屏幕挨到一起了。。。有两种实现办法:第一种是加一个头或者尾,这样是可以的,但是操作起来比较耗时并且占用资源。此外还会影响到lv的点击事件的设置(position)。第二种就是我要说的这种,在...
  • qq_34723470
  • qq_34723470
  • 2017-09-03 16:47
  • 54
    个人资料
    • 访问:1943216次
    • 积分:27787
    • 等级:
    • 排名:第234名
    • 原创:819篇
    • 转载:0篇
    • 译文:1篇
    • 评论:1296条
    博客专栏
    开发交流


    为方便大家学习和交流Android开发,建了个群,欢迎大家加入。

    QQ群: 183899857(已满)
    QQ群: 250468947(新开)

    文章分类