インジケーターを備えた多くの ViewPager
コントロールは RelativeLayout
を継承し、プロキシ ViewPager
メソッドを通じて ViewPager# として偽装していることがわかりました。 #、
indicator がこの
ViewPager にオーバーレイされます。
これは少し面倒だと思います。
ViewPager を継承して、
onDraw の
canvas を介して
インジケーター を自分で描画したかったのですが、自分が若すぎることがわかりました。
indicator描画すると、
ViwePager の
item 0 (項目 0 の上にあるように見えます)、
ViewPager## にレイアウトが表示されます。 #スライドするとインジケーター
も動きました。
上の図に示すように、
インジケーターが続きました。次に、getLocationOnScreen()
で取得したものを使用して、indicator
の x 座標
を onDraw
で処理させます。それは機能しないことが判明しました。
この場合、私が考えることができる唯一のことは、他のものと同じように、
の外側に RelativeLayout
のレイヤーをラップすることです (もちろん、FrameLayout
だと思います)優れている)# ##
しかし、この方法でコントロールを扱うのには少し抵抗があります。1 つの
View
View をネストする必要があります。
ViewGounpコントロール内のスライド コンテンツを処理しているときに、特定のコンテンツが同時に移動しないようにする方法はありますか?
この質問を投稿する前に、
ViewPager
onDraw でコンテンツを逆方向に継続的に移動する必要があるのではないかと考えていました。試してみます
私は
onScrollChanged()
获取了偏移量,然后在onDraw()
を監視し、問題を解決するためにこのオフセットを追加しました。しかし、
onDraw
中indicator
会被ViewPager
のコンテンツが上書きされていることがわかりました~~この解決策はまだ機能しません! !助けてください