91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • droid布局中ScrollView與ListView的沖突的最簡單方法(listItem.measure(0, 0))

droid布局中ScrollView與ListView的沖突的最簡單方法(listItem.measure(0, 0))

發布時間:2020-07-09 21:41:39 來源:網絡 閱讀:466 作者:依舊存在 欄目:開發技術

流行的一種使用方法是

Java代碼
public class Utility {
        public static void setListViewHeightBasedOnChildren(ListView listView) {
            ListAdapter listAdapter = listView.getAdapter(); 
            if (listAdapter == null) {
                // pre-condition
                return;
            }

            int totalHeight = 0;
            for (int i = 0; i < listAdapter.getCount(); i++) {
                View listItem = listAdapter.getView(i, null, listView);
                listItem.measure(0, 0);
                totalHeight += listItem.getMeasuredHeight();
            }

            ViewGroup.LayoutParams params = listView.getLayoutParams();
            params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
            listView.setLayoutParams(params);
        }
    }

這個太麻煩了,而且效果又不是很明顯。

有人的總結如下:

只要在設置ListView的Adapter后調用此靜態方法即可讓ListView正確的顯示在其父ListView的ListItem中。但是要注意的是,子ListView的每個Item必須是LinearLayout,不能是其他的,因為其他的Layout(如RelativeLayout)沒有重寫onMeasure(),所以會在onMeasure()時拋出異常。

  在ScrollView中嵌套ListView(或者ScrollView)的另外一個問題就是,子ScrollView中無法滑動的(如果它沒有顯示完全的話),因為滑動事件會被父ScrollView吃掉,如果想要讓子ScrollView也可以滑動,只能強行截取滑動事件,有牛人在論壇中發過代碼說可以。雖然我沒有親自試過,但估計是可行的。
  雖然在ScrollView中顯示ScrollView在技術上的難題可以攻破,但是這樣的設計卻是非常差的用戶體驗因為用戶會不容易看到和操作子ScrollView中的內容。比如好的設計是,父ListView的每個Item只顯示概括性的描述,然后點擊其Item會進入另外一個頁面來詳細描述和展示以及對這個Item的操作。

于是找到另外兩種比較簡單的方法,而且又沒有影響的:

1.在ScrollView中添加一屬性 android:fillViewport="true" ,這樣就可以讓ListView全屏顯示了
2.指定ListView的高度 android:layout_height="420dp" ;

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彰化县| 苏尼特右旗| 菏泽市| 台南市| 玛曲县| 宁安市| 巧家县| 景泰县| 休宁县| 阳山县| 江源县| 济源市| 奉节县| 奇台县| 库车县| 裕民县| 凭祥市| 台江县| 怀集县| 大余县| 晋江市| 盖州市| 凉山| 农安县| 霸州市| 开鲁县| 安西县| 汕尾市| 玉树县| 芦溪县| 宝兴县| 通辽市| 孙吴县| 老河口市| 中超| 栖霞市| 宁国市| 株洲市| 厦门市| 大连市| 山阴县|