簡體   English   中英

滾動視圖內的滾動視圖

[英]Scrollview inside of a scrollview

在您 說“谷歌說不要這樣做”之前 請閱讀我的所有問題!

布局:

ScrollView -> RelativeLayout -> ScrollView -> RelativeLayout

一個 ScrollView是必要的,因為表單條目會拉動某些手機上的軟鍵盤,這會隱藏其余內容。 將ScrollView作為最外層容器允許用戶使用軟鍵盤滾動。

層次結構中較低的第二個 ScrollView是ListView,它仍然是可滾動的。

我完全理解為什么開發者不鼓勵在另一個ScrollView中使用ScrollView。 我需要想辦法讓兩者一起工作。 嘗試在最內部的ScrollView觸摸時禁用最外面的ScrollView,但這沒有幫助。

有沒有辦法解決這個問題,兩者都有效(當然不是在同一時間)? 在內容頁面再次更改之前,我甚至不介意禁用最外面的ScrollView。 必須有一種方式..

步驟1:刪除ScrollView

步驟#2:通過addHeaderView()使第一個RelativeLayout成為ListView的標題。

步驟3:通過addFooterView()使第二個RelativeLayout成為ListView的頁腳。

實際效果是整個事物都是可滾動的,沒有嵌套的可滾​​動項。

只有當您將android:layout_height設置為第二個ScrollView的固定值時,它才會起作用。 最好的方法是根據設備設置大小,因為最好為每個支持的屏幕大小創建布局(dp上的值,如150 dp)。 你應該創建單獨的布局:布局小,布局正常,布局大......請參閱此鏈接以優化固定大小: http//developer.android.com/guide/practices/screens_support.html

答案是以編程方式從最外面的滾動視圖中截取觸摸事件。 我正在使用我在另一個SOF中找到的關於以編程方式禁用ScrollView的類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM