Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android:clipToPadding屬性的分析——以ListView的"別樣"padding為例

android:clipToPadding屬性的分析——以ListView的"別樣"padding為例

編輯:關於Android編程

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 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如下:


    



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved