2013-06-21 58 views
0

我對框架佈局的瞭解是,子視圖繪製在堆棧中,最近添加的子項位於頂部。它也在官方文檔頁面上。框架佈局行爲

我已經看到它的行爲是太但從過去幾年的經歷我已經注意到,在堆棧底部的孩子也例如

<framelayout> 
<button1> // should not be accessible 
<button2> // should be accessible 

</framelayout> 

訪問,但是我可以點擊按鈕2還, framlayout實際上如何表現這是我無法得到的唯一佈局。

回答

2

我注意到,在堆棧底部的孩子也可以訪問

觸摸事件去那是在Z軸在X上的小部件/ Y座標觸摸事件。 RelativeLayout具有相同的效果。

<button1> // should be accessible <button2> // should not be accessible

這是不正確。在Z軸上,FrameLayoutRelativeLayout的較後孩子較高。因此,button2將漂浮在button1之上,它們重疊。如果button1可見,則用戶可以點擊該可見部分並且button1將接收該觸摸事件。 button2,因爲它位於FrameLayout的小部件堆棧的頂部,因此它總是可見的,並且始終有資格在其可見區域進行觸摸事件。

+0

對不起,我的錯誤按鈕2應該可以訪問,按鈕1不應該,但我想知道它是否在堆棧底部的孩子爲什麼接受觸摸事件。 –

+0

@MeraClientChorhai:正如我寫的,「觸摸事件轉到位於觸摸事件的X/Y座標處的Z軸頂部的控件」。因此,'button1'的任何部分都是可見的*都可以被觸摸,並且它將接收到該觸摸事件。 – CommonsWare

+0

Thiks,將幫助我很多。 –