2012-05-18 78 views
1

我有一個位於底部的滑動抽屜。在下面我有一個50dp的線性佈局。滑動抽屜的內容低於它

所以我的佈局是這樣的:

enter image description here

其中紅色矩形是滑動抽屜拉手

現在,當我從屏幕下方滑出我的手指滑動抽屜式,即沿藍色的路徑

enter image description here

滑動抽屜式沒有按」開放。它不會打開,因爲點擊活動是由底部佈局捕獲的。 滑動抽屜只有在紅色矩形內完全點擊時纔會打開。

我試圖讓底部佈局clickable => false focussable => false仍然不行。

任何想法,我怎麼才能讓底部佈局的點擊事件鬆動其點擊一旦手指不在佈局? ,以便手柄可以捕獲點擊

+0

不要以爲任何東西都可以幫助你,你需要兩個可以點擊的權利?那麼更好,你調整紅色矩形的大小。有一些事件,但它涉及觸摸而不是點擊。即ondispatchtouchevent()。 –

+0

我不需要底層圖層,因爲我總是可以使用相對佈局/框架佈局並單獨放置按鈕。 –

+0

調整高度不起作用..因爲沒有用戶誰會點擊手柄,即使它是100dp,因爲每個人都從底部滑動 –

回答

2

我建議您爲抽屜創建整個線性佈局(棕色底欄)處理器。這樣做可以讓您在第二張圖片中隨意滑動抽屜。

或者,您也可以使用FrameLayout來呈現LinearLayout和抽屜的視圖,就像在單個佈局中一樣,並將抽屜的寬度和高度設置爲線性佈局 - 覆蓋整個線性佈局區域。

最後,在線性佈局(向上方向)上執行SimpleOnGestureListener以執行抽屜的點擊操作。

+0

但在這種情況下,底部欄也會向上移動,我不想 –

+0

看到我更新的答案。那麼也許你需要在你的線性佈局上實現SimpleOnGestureListener監聽器來模擬抽屜的點擊動作 – waqaslam

+0

是的,我已經記住了最後一個選項.. :)謝謝 –

0

你說你嘗試過clickable = false和focusable = false ...你還設置了focusableintouchmode = false嗎? (我會設置所有三個,看看會發生什麼)。

最近我痛苦地發現,focusable-false只覆蓋硬件,而不是觸摸屏。我不得不添加focusableintouchmode =「false」..也許這也適用於你。

+0

不起作用:( –