0

首先,我真的是 Android 的初学者,如果我的问题是一个简单的 RTFM,我深表歉意。

我正在尝试做一个圆形图形布局(ImageViews现在围绕一个中心旋转多个,每个都有相同的可绘制对象),我想知道最有效的方法是什么。我已经研究过了,Android 中的文档非常稀少。

现在,我正在使用XMLrotation中的 ImageViewstranslationX和,但是当您在不同的设备上测试它时,它不能很好地扩展。我可以为每个设备制作不同的布局文件,但老实说,这很痛苦。translationYFrameLayout

  • 有没有办法让整个布局自动缩放?我的意思是,如果我为其中的每个元素定义正确的平移、旋转和缩放,整个FrameLayout屏幕能否“神奇地”填满?
  • 我可以在布局中进行偏心旋转吗?比如说,通过圆的半径平移并围绕圆的中心旋转,而不是物体的中心?或者任何其他的转换链,就此而言?
  • 如果使用 XML 布局是不可能的,并且如果我必须在代码中这样做(我想避免),那么最好的位置是什么?我会在onCreate方法中这样做,但也许有更好的方法?

请注意,我不想创建动画,我只想要一个静态布局

4

1 回答 1

0

您不会喜欢我的回答,但是,如果您正在执行使用默认视图组和小部件无法实现的复杂布局,并且无法很好地扩展它们,那么编写自己的视图组并扩展 ImageView 可能是要走的路。

然后,您可以完全控制图像视图的定位方式,同时考虑设备 DPI 和分辨率,以及图像视图本身的行为方式。前期工作量大,后期回报大。

您需要的主要覆盖是 onMeasure() 和 onDraw(),当然还有自定义构造函数中的初始化。

从您的问题看来,您有技能,但如果您需要有关规格的帮助,请回来。尤其是 onMeasure() 可能很难让你明白。

这当然是我的意见和 YMMV。

祝你好运。

于 2012-12-05T17:03:33.197 回答