国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android ListView中動態顯示和隱藏Header&Footer的方法

2019-12-12 05:31:43
字體:
來源:轉載
供稿:網友

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"?><LinearLayoutxmlns: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"><LinearLayoutandroid:id="@+id/mFooter"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><TextViewandroid: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; //footerprivate View mFooterParent; //footer的最外面再套一層LinearLayoutmFooterParent = 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; //footermFooter = 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的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景洪市| 开封市| 思茅市| 铁力市| 从江县| 邓州市| 封丘县| 汶川县| 青河县| 靖宇县| 千阳县| 绍兴市| 新干县| 芮城县| 双柏县| 辉南县| 鸡泽县| 临潭县| 德州市| 基隆市| 云阳县| 山东| 虎林市| 三门县| 思南县| 枣强县| 安阳市| 元江| 右玉县| 文水县| 健康| 兴仁县| 怀宁县| 阿克苏市| 常宁市| 绥化市| 襄樊市| 自贡市| 原阳县| 将乐县| 宿迁市|