7

FrameLayout在Android中有什麼用途?是否有任何特定的設計方案?FrameLayout的目的是什麼?我們應該在哪種場景中使用它?

在我的Android應用程序中,我有一個場景,我必須展示兩個ImageView s,一個在另一個之上。這是一個.png圖像文件,在此圖像上可以繪製9個補丁。

其中ViewGroup應該用於此目的:RelativeLayoutFrameLayout

我也想知道每個ViewGroup s應該用於不同的情況。

回答

-4

是的,您可以在您的方案中使用FrameLayout

+0

我可以使用或我應該使用? :)是否有任何性能問題與使用幀或相對佈局相關?希望你明白我的觀點。 – Ankit

+2

@Ankit我不確定性能問題(我會假設'FrameLayout'具有更小的內存佔用,因爲它更簡單)。 'FrameLayout'配置起來更容易(只是'Gravity.LEFT','Gravity.RIGHT'等)''RelativeLayout'要複雜得多,而且可配置性更強。只要選擇你需要的複雜情況。 – Ancantus

0

我不記得我是怎麼到這個問題,但這裏是我的回答可以幫助的人:

正如你可以看到here

FrameLayout裏被設計來阻擋在一個區域屏幕顯示單個項目。通常情況下,應該使用FrameLayout來保存單個子視圖,因爲可以很容易地組織子視圖,這種方式可以根據不同的屏幕尺寸進行擴展,而不需要兒童相互重疊。

一般來說,如果你有2個視圖,因爲你會產生透支效應(多次繪製的屏幕區域不止一次,這實際上是無用的)。

如果你真的有,那麼你需要使用的onDraw方法(你可以看到一個例子here)和Canvas API(看看here)和clipRect方法(你可以看到一個例子here

關於FrameLayout或RelativeLayout,如果你想保持簡單或者你的活動已經有足夠的嵌套佈局,最好使用FrameLayout。在2017年,還有一些約束佈局可能會有所幫助。

相關問題