編輯:關於Android編程
半年前,那時候我還是個大四的學生,每天都在找工作度過,想去北京體驗一下蟻族生活,奮然離開了濟南,哎...在濟南我們學校還是數得著的好學校,去了北京就什麼都不是了,一切的辛酸只有自己知道,那時候的我只找開發方面的工作,也第一次體會到了女生的劣勢...
在找工作的過程中,大部分都是實習,跟我的預想有點沖突,去了XX集團,人家只要211,985的,沒辦法,去了XX工廠收到了類似通訊錄的這麼個任務...
廢話少說,開始今天的主題
在很多應用中,看到這樣的listview:listview滑動過程中分組標題固定在上方,當第二個組滑上來時,第一個組才跟著上滑,下一個組固定,直到該組也滑出上邊緣。
有位大神們寫的比較高深,可以去借鑒一下http://blog.csdn.net/guolin_blog/article/details/9033553
由於我比較菜鳥,所以方法比較簡單,但實現的功能差不多,主要使用了git上的源碼,直接拿來調用了
1.從github上下載源碼,下載地址http://blog.csdn.net/guolin_blog/article/details/9033553
2.把PinnedHeaderListView中的library導入項目中
3.新建項目,並引用library
大概內容就這些,下面簡單介紹一下代碼:
1.在MainActivity的布局文件中加入以下代碼:
給個小技巧,按住shift+ctrl+T,輸入PinnedHeaderListView就能找到za.co.immedia.pinnedheaderlistview.PinnedHeaderListView,直接寫進去就可以
/** * */ package com.thea.pinnedsectiondemo.adapter; import java.util.List; import com.thea.pinnedsectiondemo.R; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import za.co.immedia.pinnedheaderlistview.SectionedBaseAdapter; /** * @author thea * * 2014-10-16 */ public class MyPinnedListViewAdapter extends SectionedBaseAdapter{ private ListsectionList; private List list; private Context context; public MyPinnedListViewAdapter(Context context,List sectionList, List list) { super(); this.sectionList = sectionList; this.list = list; this.context = context; } @Override public Object getItem(int section, int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int section, int position) { // TODO Auto-generated method stub return 0; } @Override public int getSectionCount() { // TODO Auto-generated method stub return sectionList.size(); } @Override public int getCountForSection(int section) { // TODO Auto-generated method stub return list.size(); } @Override public View getItemView(int section, int position, View convertView, ViewGroup parent) { ViewHold hold=null; if (convertView==null) { hold=new ViewHold(); convertView=LinearLayout.inflate(context, R.layout.list_item, null); hold.tv_item=(TextView) convertView.findViewById(R.id.tv_item); convertView.setTag(hold); } else { hold=(ViewHold) convertView.getTag(); } hold.tv_item.setText(list.get(position)); return convertView; } @Override public View getSectionHeaderView(int section, View convertView, ViewGroup parent) { ViewHold hold=null; if (convertView==null) { hold=new ViewHold(); convertView=LinearLayout.inflate(context, R.layout.section_item, null); hold.tv_section=(TextView) convertView.findViewById(R.id.tv_section_item); convertView.setTag(hold); } else { hold=(ViewHold) convertView.getTag(); } hold.tv_section.setText(sectionList.get(section)); return convertView; } class ViewHold{ private TextView tv_section,tv_item; } }
ok,完成
源碼下載地址:http://download.csdn.net/detail/elinavampire/8047885
本文使用的Unicode+DLL+Debug的方式,因為不想最後生成的exe文件太大。環境搭建步驟如下:1、下載wxWidgets包:登錄wxWidgets的下載頁面:h
講解一遍如何制作空心心形到實心心形的過渡動畫,然後講解與之反向的動畫。效果如下:圖片序列幀動畫的原理很簡單:就像老式電影膠卷那樣,快速掠過一些列的圖片,“幀&
想必現在有很多朋友都曾經遇到過這樣的困惑。小編也嘗試過修改幾個微信號都沒能成功;結果有一個是兩年前注冊的微信號,並且當時是已經填寫了自己的微信號(不是默認號
在Android 4.4系統中,外置存儲卡(SD卡)被稱為二級外部存儲設備(secondary storage),應用程序已無法往外置存儲卡(SD卡)寫入數據,並且WRI