溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決Android ScrollView下嵌套ListView或GridView出現(xiàn)的問題

發(fā)布時間:2021-07-21 10:14:05 來源:億速云 閱讀:143 作者:小新 欄目:移動開發(fā)

這篇文章主要為大家展示了“如何解決Android ScrollView下嵌套ListView或GridView出現(xiàn)的問題”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何解決Android ScrollView下嵌套ListView或GridView出現(xiàn)的問題”這篇文章吧。

Android ScrollView 下嵌套 ListView 或 GridView出現(xiàn)問題解決辦法

ScrollView 下嵌套 ListView 或 GridView 會發(fā)列表現(xiàn)數(shù)據(jù)只能顯示一行。因為他們都是滾動結(jié)構(gòu),兩個滾動條放到一起就會引起沖突。

解決此問題可以通過計算 ListView 高度或重寫 ListView 的 onMeasure 方法來解決。下面介紹通過重寫 onMeasure 方法來解決問題。

重寫 onMeasure 方法如下:

public class ScrollListView extends ListView {
 public ScrollListView(Context context, AttributeSet attrs) {
  super(context, attrs);
 }
 
 @Override
 public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  int mExpandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
           MeasureSpec.AT_MOST);
  super.onMeasure(widthMeasureSpec, mExpandSpec);
 }
}
public class ScrollGridView extends GridView {
 public ScrollGridView(Context context, ttributeSet attrs) {
  super(context, attrs);
 }
 
 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  int expandSpec = MeasureSpec.makeMeasureSpec(
            Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
  super.onMeasure(widthMeasureSpec, expandSpec);
 }
}

ScrollView 需要注意的地方:

1、ScrollView 只支持垂直滾動。

2、ScrollView 只能添加一個子控件 。如果有多個子控件怎么辦呢,直接在這些子控件外面再套一層 LinearLayout 就 OK 了。

以上是“如何解決Android ScrollView下嵌套ListView或GridView出現(xiàn)的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI