Android上的复杂图形布局

时间:2012-12-05 15:32:42

标签: android android-layout

首先,我真的是Android的初学者,如果我的问题是一个简单的RTFM,那么道歉。

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

现在,我在rotation的XML中使用translationXtranslationYFrameLayout for ImageViews,但是在测试时它不能很好地扩展它在不同的设备上。我可以为每个设备制作不同的布局文件,但老实说这很痛苦。

  • 有没有办法可以自动完成整个布局?我的意思是,如果我为其中的每个元素定义正确的平移,旋转和比例,整个FrameLayout可以“神奇地”填充屏幕吗?
  • 我可以在布局中进行偏心旋转吗?比方说,按圆的半径进行平移并围绕圆心旋转,对象的中心?或者其他任何转型链?
  • 如果使用XML布局是不可能的,如果我必须在代码中执行此操作(我想避免),那么最好的位置是什么?我会用onCreate方法做到这一点,但也许有更好的方法?

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

1 个答案:

答案 0 :(得分:0)

你不会喜欢我的回答但是,如果你做的是使用默认视图组和小部件无法实现的复杂布局,则无法使它们能够很好地扩展,那么编写自己的视图组并扩展ImageView可能就是这样。

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

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

从您的问题来看,您似乎掌握了这项技能,但如果您需要有关于specfics的帮助,请回来。特别是onMeasure()可能很难处理。

这当然是我的意见和YMMV。

祝你好运。