加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Android SlidingUpPanelLayout上滑事件

发布时间:2020-12-15 04:21:52 所属栏目:Java 来源:网络整理
导读:我正在使用 https://github.com/umano/AndroidSlidingUpPanel.它运行良好,但我正在试图找出一些方法来监听上下滑动事件.我在README中没有看到任何与此相关的内容. file.xml: com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:sothree="http://schema
我正在使用 https://github.com/umano/AndroidSlidingUpPanel.它运行良好,但我正在试图找出一些方法来监听上下滑动事件.我在README中没有看到任何与此相关的内容.

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);
    }
});*/

所以基本上我有一个箭头的图像,当底部面板向上或向下滑动时我想要改变它.我无法弄清楚如何做到这一点.

解决方法

如果我正确理解你的问题,我想你可能想看看这个

/**
 * Listener for monitoring events about sliding panes.
 */
public interface PanelSlideListener {
    /**
     * Called when a sliding pane's 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;
}

所以基本上你就是这样做的.

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

超过here的演示

希望能帮助到你 :)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读