欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android ListView中動(dòng)態(tài)顯示和隱藏Header&Footer的方法

 更新時(shí)間:2016年08月26日 16:06:01   作者:生命壹號(hào)  
這篇文章主要介紹了Android ListView中動(dòng)態(tài)顯示和隱藏Header&Footer的方法及footer的兩種正確使用方法,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,對(duì)listview header footer相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧

ListView的模板寫(xiě)法

ListView模板寫(xiě)法的完整代碼:

•android代碼優(yōu)化----ListView中自定義adapter的封裝(ListView的模板寫(xiě)法)

以后每寫(xiě)一個(gè)ListView,就這么做:直接導(dǎo)入ViewHolder.java和ListViewAdapter,然后寫(xiě)一個(gè)自定義adapter繼承自ListViewAdapter就行了。

ListView中動(dòng)態(tài)顯示和隱藏Header&Footer

如果需要?jiǎng)討B(tài)的顯示和隱藏footer的話,按照慣例,誤以為直接通過(guò)setVisibility中的View.GONE就可以實(shí)現(xiàn)。但是在實(shí)際使用中發(fā)現(xiàn)并不是這樣的。

例如,先加載footer布局:

private View mFooter;
mFooter = LayoutInflater.from(this).inflate(R.layout.footer, null); //加載footer的布局
mListView.addFooterView(mFooter);

如果想動(dòng)態(tài)隱藏這個(gè)footer,慣性思維是直接設(shè)置footer為gone:(其實(shí)這樣做是不對(duì)的)

mFooter.setVisibility(View.GONE); //隱藏footer

實(shí)際上,直接設(shè)置GONE后,雖然元素是隱藏了,但是還是占用著那個(gè)區(qū)域,此時(shí)和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當(dāng)中
mFooterParent.setOnClickListener(MainActivity.this); //綁定監(jiān)聽(tīng)事件,點(diǎn)擊查看全部列表

(3)設(shè)置footer為gone:(不是設(shè)置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當(dāng)中

當(dāng)需要隱藏footer的時(shí)候,設(shè)置footer為gone:(不是設(shè)置footerParent為gone)

mFooter.setVisibility(View.GONE);

以上所述是小編給大家介紹的Android ListView中動(dòng)態(tài)顯示和隱藏Header&Footer的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論