編輯:關於Android編程
ListView的模板寫法
ListView模板寫法的完整代碼:
•android代碼優化----ListView中自定義adapter的封裝(ListView的模板寫法)
以後每寫一個ListView,就這麼做:直接導入ViewHolder.java和ListViewAdapter,然後寫一個自定義adapter繼承自ListViewAdapter就行了。
ListView中動態顯示和隱藏Header&Footer
如果需要動態的顯示和隱藏footer的話,按照慣例,誤以為直接通過setVisibility中的View.GONE就可以實現。但是在實際使用中發現並不是這樣的。
例如,先加載footer布局:
private View mFooter; mFooter = LayoutInflater.from(this).inflate(R.layout.footer, null); //加載footer的布局 mListView.addFooterView(mFooter);
如果想動態隱藏這個footer,慣性思維是直接設置footer為gone:(其實這樣做是不對的)
mFooter.setVisibility(View.GONE); //隱藏footer
實際上,直接設置GONE後,雖然元素是隱藏了,但是還是占用著那個區域,此時和View.INVISIBILE效果一樣。
footer的正確使用方法如下:
1、方法一:
(1)布局文件:在footer布局文件的最外層再套一層LinearLayout/RelativeLayout,我們稱為footerParent。
layout_footer_listview.xml:(完整版代碼) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mFooterparent" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FFFFFF" android:gravity="center" android:orientation="vertical" > <LinearLayout android:id="@+id/mFooter" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="40dp" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:gravity="center" android:text="查看更多" android:textColor="#ff0000" android:textSize="20sp"/> </LinearLayout> </LinearLayout>
(2)加載footer和footerParent的布局:
private View mFooter; //footer private View mFooterParent; //footer的最外面再套一層LinearLayout mFooterParent = LayoutInflater.from(getActivity()).inflate(R.layout.footerparent_listview, null);//加載footerParent布局 mFooter = mFooterParent.findViewById(R.id.footer); listView.addFooterView(mFooterParent); //把footerParent放到ListView當中 mFooterParent.setOnClickListener(MainActivity.this); //綁定監聽事件,點擊查看全部列表
(3)設置footer為gone:(不是設置footerParent為gone)
mFooter.setVisibility(View.GONE);
2、方法二:
或者直接在代碼中為footer添加footerParent也可以,如下:
private View mFooter; //footer mFooter = LayoutInflater.from(getActivity()).inflate(R.layout.footer_listview, null);//加載footer布局 LinearLayout mFooterParent = new LinearLayout(context); mFooterParent.addView(mFooter);//在footer的最外面再套一層LinearLayout(即footerParent) listView.addFooterView(mFooterParent);//把footerParent放到ListView當中
當需要隱藏footer的時候,設置footer為gone:(不是設置footerParent為gone)
mFooter.setVisibility(View.GONE);
以上所述是小編給大家介紹的Android ListView中動態顯示和隱藏Header&Footer的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!
picasso是Square公司開源的一個Android圖形緩存庫,地址http://square.github.io/picasso/,可以實現圖片下載和緩存功能。
1 引入如何高效地實現以下界面?public class User { private String name; private int score;
開發設計搞了一個帶圓形進度的進度條,在GitHub上逛了一圈,發現沒有,自己撸吧。先看界面效果:主要思路是寫一個繼承ProgressBar的自定義View,不廢話,直接上
不少玩家會想到將圖片拷貝到電腦中,然後用PS等工具去標注編輯加工,然在再發送到朋友圈或社交平台。那麼,轉來轉去,是不是也不太方便呢?其實Android手機也