解決底部Button遮擋ListView最后一項內容的bug


項目中ListView和Button經常是一起使用的,用ListView來展示數據,用Button來提交修改的數據或對修改的數據進行確定操作。

假如使用線性布局的話ListView會蓋住整個Button,使用相對布局來操作,然后Button按鈕再使用android:layout_alignParentBottom="true"

讓再底部顯示,這樣顯示是沒有問題的,但是如果ListView數據過多,當ListView翻到底部的時候會發現Button會遮擋最后一個item的內容,如下圖:

你會發現,“你好19”所在的item被遮擋住了。下面就講下解決這個問題的方法,總體思路是這樣的:獲得底部Button的高度,再讓ListView的marginBottom等於這個高度。

list = (ListView) findViewById(R.id.list);
        Button btn=(Button)findViewById(R.id.btn);
        int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
        int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
        btn.measure(w, h); 
        int height =btn.getMeasuredHeight(); 
        
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);  
        lp.setMargins(0, 0, 0, height);
        list.setLayoutParams(lp);

最后結果如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM