修正は、オーバーレイ ビューの高さをmNoDataLayout
画面の高さに設定することでした。以前はmatch_parent
、大量のリスト データが到着すると、リスト ビューが非常に大きくなり、オーバーレイ ビューが非常に大きくなる可能性があることを意味するように設定していました。
オーバーレイ ビューを小さく設定すると、他に変更を加えることなくアルファ アニメーションが機能し始めました。
おそらく Android は、レンダリングのフィル レートを最適化するために、非常に大きなビューでアルファ アニメーションを静かに強制終了しています。しかし、とにかくこれらのピクセルは画面外にあるため、これはおそらく、シザリング/カリングも行っていないことを意味します。これは奇妙に思えます.
DisplayMetrics displayMetrics = getActivity().getResources().getDisplayMetrics();
ViewGroup.LayoutParams layoutParams = mNoDataLayout.getLayoutParams();
layoutParams.height = displayMetrics.heightPixels;
mNoDataLayout.setLayoutParams(layoutParams);
これは、Samsung Galaxy Note 4 に搭載されていました。