我有一個ListView,其中每個項目可以側向滑動,以便另一個視圖將滑入並取代它。我已經將每個列表行作爲兩個視圖在一個水平的RelativeLayout內部實現。其中一個意見最初在屏幕之外。 Android ListView:滑入視圖不顯示
問題在於,我不能使屏幕視圖在滑入屏幕時呈現,除非它最初部分在屏幕上(如圖所示),甚至這個技術似乎只在隱形視圖在右側時才起作用。
有沒有更好的方法來實現這個目標?我試圖在幻燈片中調用.invalidate()和.setVisibility(VISIBLE),但沒有任何效果。
更新:
與渲染的問題似乎是最初隱藏視圖總是有寬度0,即使我嘗試在滑動過程中以編程方式改變它。我在兩個視圖周圍使用RelativeLayout來使可見視圖完全適合屏幕。
這是一個要求,視圖可以被手指拖動。我目前在View.OnTouchListener中偵聽MotionEvents來完成該操作。
謝謝! 我正在使用OnTouchListener並用手指移動視圖(拖動)。使用Switcher/Flipper也是很自然的嗎? –
所以澄清:拖/滑動工作正常,只有隱藏的視圖不顯示,除非它最初部分在屏幕上。 –
這取決於你,它可以消除所有雜亂的拖拽和處理,並且如果使用正確的佈局將自動縮放,但是可能無法獲得確切的預期效果。通過一些黑客攻擊,你可能會複製它。如果您必須拖動它,請發佈代碼以顯示您正在處理屏幕外視圖以及拖動/動畫代碼。另外,你也許可以在屏幕上顯示1px,但隱藏,並將其設置爲拖動時可見?這不是一個優雅的解決方案,但是你說如果它部分在屏幕上,它就可以工作。 – pfairbairn