Android SlidingUpPanelLayout accelerate event

I am using https://github.com/umano/AndroidSlidingUpPanel . It works great, but I am trying to find a way to listen for an up / down sliding event. In the README, I haven't seen anything in this regard.

file.xml:

<com.sothree.slidinguppanel.SlidingUpPanelLayout
   xmlns:sothree="http://schemas.android.com/apk/res-auto"
   android:id="@+id/sliding_layout"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="bottom"
   sothree:fadeColor="@android:color/transparent"
   sothree:panelHeight="30dp"
   sothree:shadowHeight="4dp">

    <RelativeLayout android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin" >

        <!-- always visible content -->

    </RelativeLayout>


    <RelativeLayout android:id="@+id/slider"
        android:layout_width="match_parent"
        android:layout_height="250dp" >

        <!-- slide-able stuff -->

        <ImageView
            android:id="@+id/sliderImage"
            android:layout_width="match_parent"
            android:layout_height="20dp"
            android:src="@drawable/slide_up"
            android:gravity="center|top" />

        <ListView
            android:id="@+id/table"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/sliderImage" >

        </ListView>

    </RelativeLayout>

</com.sothree.slidinguppanel.SlidingUpPanelLayout>

      

someJava.java

SlidingUpPanelLayout slider = (SlidingUpPanelLayout)findViewById(R.id.sliding_layout);
ImageView sliderImage = (ImageView)findViewById(R.id.sliderImage);

/* slider.setOnSomethingListenerIdk(new SomeSortOfOnSomethingListener(){
    @Override
    public boolean onSomething(View view, SomeEvent someEvent) {
         if (view.isUpOrSomething) sliderImage.setImageResource(R.drawable.slide_down);
         else sliderImage.setImageResource(R.drawable.slide_up);
    }
});*/

      

So, basically I have an arrow image that I want to change when the bottom bar slides up or down. I cannot figure out how to do this.

+3


source to share


1 answer


If I understand your question correctly, I think you can look at this

 /**
 * Listener for monitoring events about sliding panes.
 */
public interface PanelSlideListener {
    /**
     * Called when a sliding pane position changes.
     * @param panel The child view that was moved
     * @param slideOffset The new offset of this sliding pane within its range, from 0-1
     */
    public void onPanelSlide(View panel, float slideOffset);
    /**
     * Called when a sliding panel becomes slid completely collapsed.
     * @param panel The child view that was slid to an collapsed position
     */
    public void onPanelCollapsed(View panel);

    /**
     * Called when a sliding panel becomes slid completely expanded.
     * @param panel The child view that was slid to a expanded position
     */
    public void onPanelExpanded(View panel);

    /**
     * Called when a sliding panel becomes anchored.
     * @param panel The child view that was slid to a anchored position
     */
    public void onPanelAnchored(View panel);

    /**
     * Called when a sliding panel becomes completely hidden.
     * @param panel The child view that was slid to a hidden position
     */
    public void onPanelHidden(View panel);
}`

....

 /**
 * Sets the panel slide listener
 * @param listener
 */
public void setPanelSlideListener(PanelSlideListener listener) {
    mPanelSlideListener = listener;
}

      

so this is basically how you do it.



slide.setPanelSlideListener(new PanelSlideListener(){
   // Override here
});

      

theres a demo on here

hope this helps :)

+7


source







All Articles