[英]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.