メモ68--ListViewとGridView 1を続行

2753 ワード

一、ListViewのデフォルトの黒い線を取り除く
1、listView.setDividerHeight(0);
2、this.getListView().setDivider(null);
3、android:divider="@null"
android:cacheColorHint=「#00000000」は透明、デフォルトは黒に設定されています.
二、ListViewの記録と返信の位置
1.ListViewがスクロールする位置の座標を記録し、ListViewを利用する.scrollToリカバリの精度
listView.setOnScrollListener(new OnScrollListener() {   

	/**  
	 *            
	 */  
	@Override  
	public void onScrollStateChanged(AbsListView view, int scrollState) {   
		//                  
		if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {   
			if (currentMenuInfo != null) {   
				scrolledX = statusListView.getScrollX();   
				scrolledY = statusListView.getScrollY();   
			}   
		}   
	}   

	/**  
	 *        
	 */  
	@Override  
	public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {   
	}   
}); 
リカバリ場所で呼び出す
listView.scrollTo(scrolledX, scrolledY);
2.listviewが画面上に表示する最初のitemの位置を記録し、listViewを利用する.setSelectionリカバリ(元の場所に正確にリカバリできず、各itemの場所にのみ位置決めできます)
listView.setOnScrollListener(new OnScrollListener() {   
	  
    /**  
     *            
     */  
    @Override  
    public void onScrollStateChanged(AbsListView view, int scrollState) {   
        //                  
        if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {   
            position = statusListView.getFirstVisiblePosition();   
        }   
    }   
  
    /**  
     *        
     */  
    @Override  
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {   
    }   
}); 

リカバリ場所で呼び出す
listView.setSelection(position);
3、listviewのアダプタデータの変更を通知する
このlistviewにデータを追加する場合は、スクロール位置を一定に保つ.
listDataAdapter.getDataList.addAll(newDataList());   
listDataAdapter.notifyDataSetChanged();    

三、ListViewFAQ
1、listviewドラッグすると背景画像が消えて黒い背景になり、ドラッグした後に背景画像が表示されます.解決方法:android:scrollingCache="false"
2、listviewの上と下に黒い影があります.解決策:android:fadingEdge="none"
3、listviewの各項目の間には、間隔として画像を設定する必要があります.解決方法:android:divider="@drawable/xx図"
四、GridView属性紹介
1、columnWidth:列幅
2、horizontalSpacing、verticalSpacing:2行/列の間隔
3、numColumns:列数
4、stretchMode:拡大・縮小モード.Android:stretchMode="columnWidth"スケールは列幅サイズに同期します.
5、android:listSelector="#00000000"選択した黄色の下地を除去します.
selectorの使い方:
まずdrawable/xx.xmlファイルで定義します.次に、これらのxmlファイルを参照します.1)listviewでandroid:listSelector="@drawable/xx.xml"2)listviewのitemにandroid:background="@drawable/xx.xml"を設定します.3)JavaコードにDrawable drawable=getResources()を使用する.getDrawable(xx.xml);    listView.setSelector(drawable);