标签: android-overscoll

删除 Jetpack Compose 中的 LazyColumn 过度滚动效果

我使用的是 Jetpack Compose 1.1.0-alpha05 版本,我想知道是否有办法关闭LazyColumnxml ( android:overScrollMode="never") 之类的滚动效果?

在此输入图像描述

android android-overscoll android-jetpack-compose lazycolumn

28
推荐指数
1
解决办法
1万
查看次数

如何为listview使用过度滚动功能?

Android的新Overscroll功能在Gingerbread中引入并发现了一些更有趣的东西.使视图滚动超出其限制然后反弹(几乎完全像iOS)的功能有点内置到框架中,但只是隐藏.

http://www.youtube.com/watch?v=dOyWCDhlxv8&feature=player_embedded

android listview android-overscoll

16
推荐指数
2
解决办法
2万
查看次数

在android中过度滚动的视觉指示

我试图添加一些视觉指示,在ViewPager中没有更多页面在所需的方向上.但是我很难找到一个地方,在哪里放置相关的代码.

我尝试使用以下代码扩展ViewPager类,但Toast未显示(ev.getOrientation()始终返回0).我也尝试了历史点,但ev.getHistorySize()也返回0.

我错过了什么?

类示例:

public class CustomViewPager extends ViewPager {

    public CustomViewPager(Context context) {
        super(context);
    }

    public CustomViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     * @see android.support.v4.view.ViewPager#onTouchEvent(android.view.MotionEvent)
     */
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        boolean result = super.onTouchEvent(ev);

        switch (ev.getAction() & MotionEventCompat.ACTION_MASK) {
            case MotionEvent.ACTION_MOVE:
                if (ev.getOrientation() > 0) {
                    Toast.makeText(getContext(), "left", 0).show();
                }
        }

        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-compatibility android-overscoll android-viewpager

10
推荐指数
3
解决办法
7985
查看次数

了解如何使用OverScroller类

我正在考虑在我的项目中添加过度滚动(而不是颜色变化),但即使在阅读了API文档和这里的几个问题后,我仍然不明白我需要做些什么才能使它工作.

根据OverScroller的API文档:" 这个类封装了滚动,能够超越滚动操作的范围.在大多数情况下,这个类是Scroller的直接替代品. "

我之前在父类中有一个Scroller对象:

public boolean onTouchEvent(MotionEvent ev) {   
    ....// code to calculate deltas
     if (deltaY != 0 || deltaX != 0)
            scrollBy(deltaX, deltaY);
}
Run Code Online (Sandbox Code Playgroud)

然后我去改变它:

if (deltaY != 0 || deltaX != 0)
            overScrollBy(deltaX, deltaY, getScrollX(), getScrollY(),
                child.getRight() - getWidth(), child.getBottom() - getHeight(), 
                    OVERSCROLL_DISTANCE, OVERSCROLL_DISTANCE, false);
Run Code Online (Sandbox Code Playgroud)

现在滚动根本不起作用!fling()作为一个替代滴,但不滚动....

总之,我有两个问题:

  1. 为什么滚动不起作用overScrollBy?我是否必须添加其他代码才能使其正常工作?
  2. 我为什么要打电话mScroller.fling(),只overScrollBy()?为什么不mScroller.overScrollBy()呢?它是否以某种方式构建在View课堂上?

这可能是非常明显的,但我在这里挣扎.任何帮助将非常感谢,谢谢!

android android-scrollview android-overscoll android-scroll

8
推荐指数
1
解决办法
1824
查看次数

三星Galaxy S2 2.3.5+没有调用overScrollBy()

似乎三星禁止他们的过度滚动(可能是由于苹果套装).

我有一个扩展ScrollView和覆盖的视图的实现

    protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY,int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
    {
     ...
     return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, 0, metrics.widthPixels,isTouchEvent);
    }
Run Code Online (Sandbox Code Playgroud)

在每个其他设备(姜饼和当然)上,overScrollBy当滚动器到达它结束时被调用,并且用户实际上可以过度滚动视图).

在Android 2.3.5+上,三星实施了一种完全禁用过度滚动的机制(不仅仅是他们的过度滚动实现,还包括Android的实现),每次用户尝试过度滚动时,都会打印以下LogCat事件:

02-13 16:02:34.230: D/BounceScrollRunnableDefault(15783): run(), TimeFraction=0.5225, mBounceExtent=7.273352
Run Code Online (Sandbox Code Playgroud)

有没有办法解锁三星在那里做的事情?或者也许是另一种创建过度滚动的方法?

android galaxy android-2.3-gingerbread android-scrollview android-overscoll

8
推荐指数
1
解决办法
2993
查看次数

向右滚动时,在水平ListView中添加新项目:Android

我有一个水平ScrollView,显示了许多项目.我想只在用户向右滚动时显示一个额外的项目.

然后,当用户向左滚动时,该额外项目应该消失.视图通常应仅在第一个项目中滚动,并且仅在显式执行过度滚动时才应显示额外项目.

我无法弄清楚如何做到这一点.有人可以提供有关如何实现此行为的指示.

谢谢Sunny.

android horizontalscrollview android-overscoll

5
推荐指数
1
解决办法
229
查看次数

Android(列表)视图过度滚动,如Sense UI

我在谷歌和stackoverflow上搜索了一段时间,但我找不到解决方案.是否有任何可能性让Android 2.2或2.1上的listview过度滚动就像感觉ui那样?!就像在我的报警视图中一样:AlarmView Sense UI

android listview android-overscoll

5
推荐指数
2
解决办法
6140
查看次数

5
推荐指数
1
解决办法
3388
查看次数

在SwipeRefreshLayout中使用RecyclerView时,从底部出现的过度滚动效果未显示

我正在尝试使用很好的拉动刷新功能制作一个列表,但是当我在SwipeRefreshLayout中有一个RecyclerView时,过滚动效果仅在刷新时才有效.即使是列表的底部.会发生什么是用户没有列表已结束的视觉提示.

这是我的XML:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swipe_refresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_vew"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</android.support.v4.widget.SwipeRefreshLayout>
Run Code Online (Sandbox Code Playgroud)

片段中的类:

public class MyListFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener {
    private SwipeRefreshLayout swipeRefreshLayout;
    private RecyclerView recyclerView;


    static final String[] lines = new String[]{
        "this is line #1",
        "this is line #2"
        "this is line #3"
        "this is line #4"
        "this is line #5"
        "this is line #6"
        "this is line #7"
    };

    @Override
    public void onRefresh() {
        Log.i("QUESTION_LIST_REFRESH", "onRefresh called from SwipeRefreshLayout");
        new Handler().postDelayed(new Runnable() {
            @Override public void …
Run Code Online (Sandbox Code Playgroud)

android android-overscoll swiperefreshlayout android-recyclerview

4
推荐指数
1
解决办法
1406
查看次数

Android View中的默认overScrollMode值

根据Android 文档,overScrollMode的默认值为OVER_SCROLL_ALWAYS。

但是我的ListView似乎没有遵循这种行为。仅当有足够的内容在列表中滚动时,它才会显示过度滚动行为。

我尝试查看Android代码,发现View.java ref中的overScrollMode设置为OVER_SCROLL_IF_CONTENT_SCROLLS

我还检查了ListView和AbsListView的代码,以检查是否在任何地方都设置了overscrollmode,但是我什么也找不到。设置overScrollMode的唯一位置是在View.java中。

这是否意味着与此有关的Android文档不正确?我是否必须在列表视图中将overScrollMode显式设置为“ always”?

android-listview android-overscoll android-view

2
推荐指数
1
解决办法
8444
查看次数