4

我需要做一個向上滑動視圖,當我點擊一個按鈕時,它應該從屏幕底部向上滑動。它必須顯示在屏幕的底部,我需要將其滑動/拖動到屏幕中央。下面的圖片更好地解釋了它。 幾乎像AndroidSlidingUpPanel從「umano」,你可以找到hereAndroid滑動視圖

的問題是,我想第一個孩子(我查看的內容 - 例如圖像),以填補所有的屏幕,也是我想要的第二個孩子(實際的底部欄)當我點擊一個按鈕時顯示。下面的圖片更好地解釋了它。如果無法通過更改AndroidSlidingUpPanel來實現這一點,我該怎麼做?我從來沒有像這樣的意見。我真的很感激任何提示或幫助。非常感謝你。

enter image description here

+0

[複製Google Maps底部面板向上滑動]的可能重複(http://stackoverflow.com/questions/21826892/replicate-google-maps-bottom-panel-swipe-up) – axierjhtjz

+0

它不是重複的。我希望我的視圖在我點擊按鈕時出現,我不希望它已經在那裏。 –

+0

看看https://github.com/Ali-Rezaei/SlidingDrawer,它可以從任何一側滑動幾行代碼,而且比slideUpPanel更簡單。 – Ali

回答

0

您可以檢查此庫從屏幕https://github.com/SimonVT/android-menudrawer

可以使這個菜單的抽屜,讓您預期的結果中的自定義佈局的所有四個邊緣拖動的內容。

+0

這給我很多麻煩,導入我的項目。那麼還有其他想法嗎? –

+0

有什麼問題? –

0

你可以用AndroidSlidingUpPanel做到這一點,只需設置可見:

android:visibility="GONE" 

在2°子視圖(面板),並使用.showPane()和.hidePane()上SlidingUpPanelLayout顯示/單擊按鈕時隱藏面板。

+0

是否有任何方法來設置2º的孩子來填滿屏幕?因爲按照你的說法,當我在SlidingUpPanelLayout上使用.showPane()時,2º的孩子會移動。 –

+0

「動作」是什麼意思?屏幕上顯示2°的孩子?使用'expandPane()'展開面板並填充屏幕。 – Francesco

+0

對不起。我的意思是1º的孩子。我想讓1º的孩子填滿屏幕並保持這種狀態。當我打電話給showPan()並且2º的孩子出現時,它會移動1º的孩子。 –

1

隱藏或顯示面板,可以使用

showPanel()

方法。

要隱藏它嘗試:

SlidingUpPanelLayout slidingPanel =(SlidingUpPanelLayout)findViewById(R.id.sliding_panel); slidingPanel.hidePanel();

爲了使它APPE

SlidingUpPanelLayout slidingPanel =(SlidingUpPanelLayout)findViewById(R.id.sliding_panel); slidingPanel.showPanel();

這僅適用於AndroidSlidingUpPanel(https://github.com/umano/AndroidSlidingUpPanel)的v 2.0版本。據我所知,它現在包含在android支持庫v13中,但不知道是否有最新版本。

0

下庫做得一樣好

https://github.com/Paroca72/sc-widgets

裏面你會發現一個名爲ScSlidingPanel部件。 這個小工具與其他工作不同,可以很容易地使用和定製。 你把它放在一個RelativeLayout裏面給出一個對齊,它會從那邊打開.. Left,Right,Top和Bottom或者混合..

在您的具體情況下,您必須將您的面板對準容器的底部,並從底部滑動。

<!-- Define the container --> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 

    <!-- Sliding from top --> 
    <scapps.com.library.ScSlidingPanel 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true"> 

      <!-- HERE THE YOUR CONTENT --> 
      <!-- or you can load by setLayout method --> 

    </scapps.com.library.ScSlidingPanel> 

</RelativeLayout> 

,您可以使用適合您的情況的另一個重要特性是手柄尺寸

您可以定義一個手柄並定義它的背面......因爲上面的圖片使用了一個按鈕..您可以解開圖像並將setToggleOnTouch()設置爲true以打開/關閉觸摸手柄的面板。