Saya dapati ramai yang mempunyai penunjuk ViewPager
控件都是继承一个RelativeLayout
然后通过代理ViewPager
的方法来伪装成一个ViewPager
,而indicator
就是覆盖在这个ViewPager
之上。
我觉得这样做有点点乱。就想通过继承一个ViewPager
然后在onDraw
自己通过canvas
将indicator
画上去,结果发现自己太年轻了,indicator
在画上去的时候,布局是显示在ViwePager
的item 0
上(看起来像是在item 0 之上),ViewPager
滑动的时候indicator
turut mengikutinya.
Seperti gambar di atas, apa yang saya dapat indicator
跟着跑了。接着我让我的indicator
的x坐标
在onDraw
中用getLocationOnScreen()
diproses. Ternyata tidak berkesan.
Dalam kes ini, apa yang saya boleh fikirkan adalah untuk menjadi seperti yang lain ViewPager
之外包裹一层RelativeLayout
,(当然我觉得FrameLayout
lebih baik)
Tetapi saya agak tidak mahu mengendalikan kawalan dengan cara ini. Tidakkah saya boleh menggunakan View
解决而是要3个View
互相嵌套觉得不爽啊,请教大神有没有什么办法可以让一个ViewGounp
untuk mengendalikan gelongsor kandungan dalam kawalan, tetapi beberapa kandungan tidak digerakkan pada masa yang sama?
Sebelum menyiarkan soalan ini, saya berfikir, perlukah saya memantau ViewPager
的偏移量然后在onDraw
untuk terus bergerak ke arah yang bertentangan dengan pergerakan kandungan saya akan mencubanya
Saya memantau
onScrollChanged()
获取了偏移量,然后在onDraw()
dan menambah offset ini untuk menyelesaikan masalah.Tetapi saya mendapati bahawa kandungan dalam
onDraw
中indicator
会被ViewPager
telah ditimpa~~Penyelesaian ini masih tidak berfungsi! ! Bantu