我在Nexus 5x(7.1.2)和Google Pixel(7.1.1)上使用NestedScrollView时遇到了一个奇怪的问题.在其他操作系统版本上它运行正常.
举起动画有时会在举起手指后立即停止.它会停滞不前,接下来的几次飞行也可能会停止.为了重现它,你需要上下几次投掷.
在日志中,这些flings在速度,方向等方面看起来几乎相同,所以我找不到这个bug的真正原因.
也NestedScrollView并不一定需要的内部CoordinatorLayout,也可以没有NestedScrollingChild在所有.
例如,此错误可以使用以下NestedScrollView子项之一重现:
1)LinearLayout填充TextViews
2) WebView
3)LinearLayout填充RecyclerViews.
我知道RecyclerView内部和行为的可能问题CoordinatorLayout,但它没有关系.所以请不要提及任何
recyclerView.getLayoutManager().setAutoMeasureEnabled(true);
recyclerView.setNestedScrollingEnabled(false);
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
代码示例:
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="Put a super long text here"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="Put a super long text here"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
Run Code Online (Sandbox Code Playgroud) android scroll android-support-library nestedscrollview android-7.0-nougat
我在 M1 Max Macbook 上使用 Android 模拟器 (v30.9.4) 时遇到问题。有时,模拟器会停止接受当前前台 Activity(甚至可以是系统 Activity)中的触摸输入,而没有明确的模式。我不能 100% 确定这是因为 M1,但我在任何其他机器上从未遇到过这些问题。
Logcat 在活动中的每个点击上显示这些日志:
I/InputDispatcher: Dropping event because there is no touchable window or gesture monitor at (827, 950) in display 0.
I/InputDispatcher: Dropping event because there is no touched foreground window in display 0 or gesture monitor to receive it.
Run Code Online (Sandbox Code Playgroud)
我尝试过各种 AVD 配置、29/30/31 SDK 级别,包括使用 Google API 和不使用 Google API 的情况。快速启动已关闭。
我对Galaxy S5有一个奇怪的设备特定问题.我正在使用SIP(Linphone)从Galaxy S5拨打另一台设备,当我启用免提电话时,设备开始使用其主麦克风作为降噪麦克风,其辅助麦克风作为主要麦克风.结果是我必须对设备背面说话,因为当我对着主麦克风讲话时,用户听不到我的声音.
AudioManager manager = (AudioManager) getSystemService(AUDIO_SERVICE);
manager.setSpeakerphoneOn(true);
Run Code Online (Sandbox Code Playgroud)
我使用此代码启用免提电话.我也尝试启用各种模式:
manager.setMode(AudioManager.MODE_NORMAL); //Also tested with other modes
Run Code Online (Sandbox Code Playgroud)
扬声器电话被禁用时没有问题.另外在标准拨号扬声器电话模式下工作得很好.无法在任何其他设备上重现此问题.