Java – use the slidinguppanel library to keep the bottom view

I used slidinguppanel Library in one of my media player applications

In the slide panel, I have media controls. I want to display the artwork of the track at the top My problem is that I want the media control to always stay at the bottom of the screen (even if the user drags the panel, which means I have to use the onpanelslide () method) Maybe like parallax effect (I don't know if it's the right name) This is what I do now:

Collapse / expand / drag:

As you can see, when I drag the panel, the control is pasted on the top I want it to stick to the bottom of the screen and put the art directly above

I'm thinking about coordinatorlayout, but I don't know how to work!

My code:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.sothree.slidinguppanel.SlidingUpPanelLayout
        android:id="@+id/sliding_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="bottom"
        sothree:umanoPanelHeight="92dp"
        sothree:umanoShadowHeight="4dp">

        <ListView
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

        <include layout="@layout/details_slide_bar" />
    </com.sothree.slidinguppanel.SlidingUpPanelLayout>

</RelativeLayout>
<LinearLayout
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout_gravity="bottom"
              android:orientation="vertical">

    <ImageView
        android:id="@+id/ivArtworkBar"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:visibility="gone"/>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="92dp"
        android:orientation="horizontal"
        android:id="@+id/lDetailsBar">

        /!-- Content of the detalBar !-->
    </RelativeLayout>
</LinearLayout>

Now, I just check the status of the panel and adjust the visibility of the art accordingly

There must be another way!

Solution

First, create your activity

mLayout = (SlidingUpPanelLayout) findViewById(R.id.sliding_layout);

Then set the panel state to fold

mLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
 mLayout.setEnableDragViewTouchEvents(false);
 mLayout.setDragView(null);
 mLayout.setEnabled(false);
 mLayout.setClickable(false);

In addition, if your sliding panel is not visible, then

mLayout.setPanelHeight(your panel height);

Here, your panel height value must be an integer Or even like mlayout Setpanelheight (your_drag_layout. Getheight()) executes dynamically;

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>