Android Sliding Up View

泄露秘密 提交于 2019-11-28 01:30:45

问题


I need to do a Sliding Up View wich should slide up from the bottom of the screen when I click a button. It has to show on the bottom of the screen and I need to slide/drag it to the center of the screen. The images below explain it better. almost like the AndroidSlidingUpPanel from "umano" which you can find here:

The problem is that I want the first child (The content of my View - an image for example) to fill all the screen and also I want the second child(the actual bottom bar) to be showed when I click a button. The images below explain it better. If there is not possible to do this by changing the AndroidSlidingUpPanel, how can I do that? I have never worked with views like this. I would really appreciate any tip or help. Thank you very much.


回答1:


To hide or show panel, you can use

showPanel()

method.

To hide it try this:

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

To make it appe

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

This is available only in v 2.0 of AndroidSlidingUpPanel (https://github.com/umano/AndroidSlidingUpPanel). As I know, it's included in android support library v13 now, but not sure if there is latest version.




回答2:


You can check this library for dragging content from all four edges of the screen https://github.com/SimonVT/android-menudrawer

You can make a custom layout inside this menu drawer to get your expected result.




回答3:


You can do it with AndroidSlidingUpPanel, just set visibility:

android:visibility="GONE"

on the 2° child of the view (the panel) and use .showPane() and .hidePane() on SlidingUpPanelLayout to show/hide the panel when you click the button.




回答4:


The following library do it as well

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

Inside you will find a widget named ScSlidingPanel. This widget work different from the other and can be use and customize very easily. You put it inside a RelativeLayout give an alignment and it will open from that side.. Left, Right, Top and Bottom or mixed..

In your specific case your must align your panel at bottom of the container and it will sliding from the 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>

Another important property that you can use right for your case is the handle size.

You can define an handle and define the beavior of it.. as your image above you used a button.. you can unsing an image and setting setToggleOnTouch() to true for open/close the panel touching on handle.



来源:https://stackoverflow.com/questions/21849032/android-sliding-up-view

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!