小编Lin*_*lin的帖子

iOS Safari上的动量/惯性滚动

我对Safari中网站的滚动性能不满意.而不是你习惯从原生应用程序滚动的平滑动量滚动,你得到一个笨重的,一旦你举起手指几乎立即停止.

在google上搜索了一下后,我偶然发现了这篇文章:

https://ferdychristant.com/the-world-s-most-overlooked-web-optimization-for-ios-d88c7517d520#.q5dpr1kis

这确实有效,但似乎有一些副作用,例如jQuery(document).scrollTop()不再起作用,一些绝对/固定元素闪烁.

除了这篇文章之外,我没有在网上找到关于这方面的更多信息,我认为这很奇怪.由于每个人都在寻求提高移动性能/用户体验的方法,并且性能提升感觉很大我不知道:

  • 如文章中所述,惯性滚动实际上是默认禁用的(对我而言,这似乎是正确的:带有iOS7的iPad mini和带有iOS7的iPhone4)?
  • 有没有其他方法来实现这个结果(快速/平滑/动量滚动)没有缺点?怎么样?(这个网站似乎做得很好:http://m.tutti.ch/ganze-schweiz)
  • 在谷歌中搜索错误的关键词,或者这对许多人来说真的不重要吗?

刚发现似乎还有一个我没注意到的额外副作用: 移动Safari:身体上的惯性滚动和最小的UI行为?

scroll momentum

7
推荐指数
0
解决办法
2968
查看次数

在NestedScrollView(Android Studio)中启用intertial scroll

我有一个NestedScrollView(默认滚动活动的一部分),它包含一个CoordinatorLayout和RecyclerView来显示带有一些信息的卡片.布局设计为允许卡片在屏幕外显示太多并且让用户向下滚动它们,但是由于某种原因,滚动没有动量到它应该.我环顾四周,前面的一个问题讲述了如何在ScrollView中禁用intertial scroll(Android ScrollView禁用惯性滚动),所以我尝试反过来:

NestedScrollView mgScrollView = (NestedScrollView) findViewById(R.id.my_games_scroll_view);
mgScrollView.setSmoothScrollingEnabled(true);
Run Code Online (Sandbox Code Playgroud)

但这并没有实现.我测试了mgScrollView.setVerticalScrollBarEnabled(true); 看看我是否甚至将代码应用于正确的视图,因此滚动条也没有显示出来.所以现在我很困惑我是否将这些方法应用到正确的视图,但由于我没有任何其他ScrollViews,我不知道如果我不正确应该在哪里.我知道我可以在xml中添加滚动条,但我还没有找到惯性滚动的xml代码.有没有办法通过Java或xml添加惯性?

这是content_my_games.xml的代码,它是卡的布局(不要与activity_my_games.xml混淆,后者包含CollapsingToolbarLayout和FAB的代码)

谢谢

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/my_games_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.abhinav.sportswowandroid.MyGamesActivity"
tools:showIn="@layout/activity_my_games">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="16dp"
    android:paddingBottom="16dp"
    tools:context=".MyGamesActivity">

    <android.support.design.widget.CoordinatorLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            tools:context=".MyGamesActivity"
            />

    <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
           app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
            />

    <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
    </RelativeLayout>
</android.support.v4.widget.NestedScrollView>
Run Code Online (Sandbox Code Playgroud)

android scrollview android-coordinatorlayout nestedscrollview

7
推荐指数
1
解决办法
2265
查看次数

给定任意凸面二维多边形,计算惯性矩

我已经研究了这个问题了几个小时,由于某种原因,我一直无法找到解决方案。

给定一个凸多边形,该多边形定义为围绕多边形质心按顺时针顺序排列的点数组,如何计算多边形的惯性矩?

我已经能够找到各种形状的方程,例如矩形或圆形,但是找不到任意的凸多边形。

例如,以质量m,高度h和宽度w绕其质心旋转的矩形的惯性矩计算如下:

矩形的惯性矩

我正在寻找类似的公式/算法,但要寻找凸多边形。

physics game-physics

6
推荐指数
2
解决办法
898
查看次数

如何在 Sublime Merge 中“解决全部”或绑定一个键到“解决下一个”?

我有大量的冲突需要解决,如果有一种方法让我决定“全部解决”,这将非常有帮助,这会将所有需要解决的文件排队。

另一个想法是将“解决”按钮绑定到一个键,以便我只需单击该键绑定即可解决下一个冲突。

我用谷歌搜索了很多,但没有结果。

“Key Binding”文档没有提到这一点。

谢谢!

sublimemerge

6
推荐指数
1
解决办法
499
查看次数

正确地惯性重定向到另一个页面?

我试图在点击时重定向到另一个页面,由于某种原因它不起作用。这是我的 vue 上重定向按钮所在的代码。我尝试了两种不同的方法,但都不起作用。

<el-row class="import-btn">
    <a :href="'/imports/teachers'">
        <el-button type="warning">
            Importar
        </el-button>
    </a>
</el-row>
<el-row class="import-btn">
    <el-button type="warning" @click="redirectStudents()">
        Importar
    </el-button>
</el-row>
Run Code Online (Sandbox Code Playgroud)
redirectStudents() {      
  this.$inertia.visit('/imports/students');
},
Run Code Online (Sandbox Code Playgroud)

我有这样的 web.php 路由

Route::resource('imports/students', 'ImportStudentController');
Route::resource('imports/teachers', 'ImportTeacherController');
Run Code Online (Sandbox Code Playgroud)

在两个控制器中,我目前只填充了index()

public function index()
{
   return Inertia::render('Import/Students');
}
Run Code Online (Sandbox Code Playgroud)
public function index()
{
    return Inertia::render('Import/Teachers');
}
Run Code Online (Sandbox Code Playgroud)

在教师和学生的 vue 文件中,我有这些页面的基本布局和标题,因此它们不是空的。

当我单击该<a :href="">按钮时,我会被重定向到该链接,但页面完全空白,当我单击另一个按钮时,它会打开,就像一个窗口一样,里面也是空白的。

解决这个问题的正确方法是什么?

inertiajs laravel vue.js element-ui

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

惯性拖动滚动

我正在尝试为桌面浏览器创建类似 iPhone 触摸屏拖动滚动的惯性效果。

这似乎是我所追求的代码:

smoothstep_eo(t) = 2*smoothstep((t+1)/2) - 1
Run Code Online (Sandbox Code Playgroud)

从这里 - /sf/answers/13734661/

但是我很难弄清楚如何实施它。

我想象以某种方式使用该代码来计算单击、拖动和释放的移动,然后将值逐帧应用于 scrollToTop()。

关于如何解决这个问题的任何建议。

javascript jquery scroll

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

在Bullet中,惯性张量为零的是什么?

在Bullet Physics库中,当构造刚体时,惯性张量的默认参数是零向量.

我对惯性的理解是相当基本的,但从方程式来看

扭矩=惯性*angular_velocity

我希望惯性为零的物体上的角速度不确定.

构建刚体文档

对于动态对象,可以使用碰撞形状来近似局部惯性张量,否则使用零向量(默认参数)

那么零惯性会发生什么?我误解了这个等式吗?或者在子弹中具有零惯性,类似于在定义物体相对于方向时具有零质量?

physics bullet bulletphysics

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

Phonegap android app(所有手机)内的惯性滚动

我的问题在下面描述.

我最近开发了一个Phonegap应用程序(Android和Ios是目标平台)并将其部署在市场上.我的应用程序主要包含在事件列表中.

该列表显然是可滚动的.目的是为用户提供本地感受体验,或者至少为其提供亲切感受.实际上,我想为大多数用户启用惯性(每个人都会很棒!).

该应用程序无法通过android <3.0手机下载,因此如果该解决方案排除了Android 2.X用户并不重要.此外,目前该应用程序不是平板电脑的设计,所以我不介意该解决方案是否适用于android <4.0.

我在可滚动的div上使用以下CSS属性:

overflow: scroll;
-webkit-overflow-scrolling: touch;
Run Code Online (Sandbox Code Playgroud)

在Ios上,绝对没有问题.它是快速和惯性滚动启用.

使用Android,我仍然遇到一些手机的问题.这是我的测试:

  • Nexus 5(Android 4.4):惯性
  • 索尼爱立信(Android 4.0.4):惯性
  • 三星galaxy Trend(android 4.0.4):惯性
  • 三星Galaxy Note 3 - SM-N9005(Android 4.3):没有惯性
  • 三星Galaxy S4(Android 4.3):没有惯性

我没有'使用任何JavaScript库进行滚动(例如Iscroll等),我不想这样做,除非它是一个非常轻量级的librairy.事实上,我尝试过Iscroll,结果无法使用,因为它太慢而且不稳定.顺便说一句,事件列表包含渐变,图像,文本,阴影等...

我在互联网上做了很多研究.现在,我感到迷茫!我甚至不知道问题是否与以下内容有关:

  1. 制造商层
  2. Android版本
  3. 手机上的默认浏览器(我认为不是因为看起来Phonegap不使用它)
  4. 嵌入式PhoneGap webKit渲染引擎
  5. 弃用的CSS属性:请参阅此文章
  6. 别的什么?

这有点奇怪,因为它适用于4.0.4和4.4但不适用于4.3 ...我开始认为这与制造商有关...

任何有关上述内容的帮助,解决方案或信息都将非常感激.

android scroll cordova

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

Openlayers 3 关闭平滑滚动

我目前有一个 Openlayers 3 集成,其中包含许多更新功能,这些功能会导致滚动卡顿,尤其是在使用“动态”运动(轻弹滚动)时。有没有办法关闭惯性的平滑滚动,以便用户必须拖动才能移动地图?

删除缩放动画也会有所帮助。

我一直在 ol.animation 区域寻找这些 - 这是正确的地方吗?

scroll openlayers-3

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

更改scrollTop不会继续进行惯性滚动

我有一个具有可滚动内容的div,它在某个scrollTop值处返回顶部。

var container = document.getElementById('container');

function scroll_function() {

  var new_position_top = container.scrollTop;

  if (new_position_top > 600) {

    container.scrollTop = 0;

  }

}

container.addEventListener('scroll', scroll_function);
Run Code Online (Sandbox Code Playgroud)
#container {
  width: 300px;
  height: 300px;
  overflow: auto;
  border: 1px solid black;
  -webkit-overflow-scrolling: touch;
}
span {
  width: 100%;
  height: 1200px;
  float: left;
  background: red;
  background: -webkit-linear-gradient(red, yellow);
  background: -o-linear-gradient(red, yellow);
  background: -moz-linear-gradient(red, yellow);
  background: linear-gradient(red, yellow);
}
Run Code Online (Sandbox Code Playgroud)
<div id="container">
  <span></span>
</div>
Run Code Online (Sandbox Code Playgroud)

JSFiddle

使用MacBook触控板,我得到了不同的行为:Chrome和Safari可以按我期望的那样工作,回到顶部后继续保持惯性。 但是,Firefox返回顶部并停止了惯性。

使用iOS Safari也会出现类似的问题,因为直到惯性完成后才会更新scrollTop位置。

是否有更好的方法来解决此问题,或解决桌面Firefox和iOS Safari行为的方法?

javascript firefox scroll

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