ビューの高さを取得するのに苦労しています。現在、アプリのコールド スタート時にgetMeasuredHeight()、ビューで が返されます0。
今、私はこれを回避する方法を知っています。ビューがまだレイアウトされていないために発生しています。残念ながら、 a のようなものを使用してaddOnGlobalLayoutListenerも十分ではありません。usingTabLayoutのオフセットを設定するには、このビューの高さ (ユーザーの設定に応じてツールバー +またはツールバーのみ) が必要です。アプリのコールド スタート時に、「更新」されていることが示されます。データの読み込み中または変更中はいつでも、「更新中」と表示されます。高さがわからないと「スッキリ」とは言えません。コールド スタートの開始時に必要なため、計算を遅らせることはできません。言うまでもなく、それは 2 つの可能な高さのうちの 1 つかもしれません。SwipeRefreshLayoutsetProgressCircleOffset()SwipeRefreshLayoutSwipeRefreshLayout
だから私の質問はこれです:私たちはデバイスのDPIを取得することができ、私は一般的に(試行錯誤によって)dpビューの高さ(で)を見積もることができるので(そしてそれは代替です)-「式を作成することは可能ですか? 」または画面サイズに基づいてオフセットを調整するものはありますか? を に変換する必要があることはわかっていますがdp、pxそれ以上はどうすればよいかわかりません。
たとえば、Nexus 6 ではこのビューの高さが 334px (513dpi に設定) であることがわかっています。しかし、私の在庫のPixel Cでは間違いなく少ないです(334pxのオフセットはPixel Cでは大きすぎます).