如何解决从中心而不是左上方设置视图的位置
我有一个用代码初始化的图像视图。我可以通过[INFO ] [Logger ] Record log in C:\Users\Casper\.kivy\logs\kivy_20-08-26_13.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "C:\Users\Casper\anaconda3\envs\CasperEnv\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.7.7 (default,May 6 2020,11:45:54) [MSC v.1916 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\Casper\anaconda3\envs\CasperEnv\python.exe"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex,img_dds,img_sdl2,img_pil,img_gif (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] Backend used <glew>
[INFO ] [GL ] OpenGL version <b'4.5.0 - Build 25.20.100.6373'>
[INFO ] [GL ] OpenGL vendor <b'Intel'>
[INFO ] [GL ] OpenGL renderer <b'Intel(R) HD Graphics 520'>
[INFO ] [GL ] OpenGL parsed version: 4,5
[INFO ] [GL ] Shading version <b'4.50 - Build 25.20.100.6373'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed,single mode,not docked
[INFO ] [Base ] Start application main loop
[INFO ] [GL ] NPOT texture support is available
[INFO ] [Base ] Leaving application in progress...
[INFO ] [WindowSDL ] exiting mainloop and closing.
和setX()
设置位置。方法。据我了解,这些坐标设置在图像的左上角。但是,我想根据图像的中心设置位置。这可能吗?
注意:我是Android开发的新手
解决方法
否,您无法根据中心设置位置。
但是,您可以通过分别减去宽度和高度的一半来计算出左上角的位置,以使中心位于特定的x,y位置。
您可以致电getWidth()
和getHeight()
来获取它们。
因此,您可以执行以下操作:
fun setViewPositionAccordingToCenter(view: View,x: Int,y: Int){
view.setX(x - (view.getWidth()/2))
view.setY(y - (view.getHeight()/2))
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。