0

我想顯示在視圖框架佈局的底部,其中一些佈局在隱藏的FrameLayout內部,並且在點擊一些按鈕後顯示。我想顯示FrameLayout以從屏幕底部開始,高於所有其他視圖。Android:如何使框架佈局覆蓋底部的其他UI組件?

我該如何以正確的方式做到這一點?

非常感謝您的任何建議。

enter image description here

+0

你的意思是其他UI組件 – Shaishav

+0

你能不能請發佈你到目前爲止已經嘗試過的東西?xml文件等。 – tsiro

+0

根容器可以是RelativeLayout,並且可以添加 android:layout_alignParentBottom =「true」來查看你想要對齊到屏幕的底部 –

回答

1

我已經實現類似於你想達到什麼樣的東西?首先你應該把一個CoordinatorLayout內片段佈局的整個活動。然後,您應該將要顯示在所有其他視圖之上的FrameLayout放置爲CoordinatorLayout中的最後一個視圖。你可以給FrameLayout一個固定的高度(200像素)和相同的負值作爲邊緣底部(-200px),所以它不能在第一個地方看到。在點擊某個按鈕後,您可以將所需的視圖(在本例中爲FrameLayout)製作成動畫,以便與屏幕底部的所有其他視圖重疊。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

//Your views here 

<FrameLayout //Your FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="200px"  android:layout_marginBottom="-200px"> 

    //Place whatever views you prefer here 

</FrameLayout> 

</android.support.design.widget.CoordinatorLayout> 
1

由於Android Support Library 23.2可以使用材料Bottom Sheets,如谷歌地圖之一:

Bottom Sheet example

包括支持設計庫(使用最新版本):

compile 'com.android.support:design:24.1.1' 

你應該使用一個知道嵌套滾動的組件,如NestedScrollView(它擴展順便說一下的FrameLayout)和RecyclerView一個CoordinatorLayout內,並添加這種行爲是:

app:layout_behavior="android.support.design.widget.BottomSheetBehavior" 

,並使其在底部一點點可見:

app:behavior_peekHeight="64dp"