【发布时间】:2012-02-20 21:43:54
【问题描述】:
我还是 android 新手,所以我对所有视图组件并不完全熟悉。 我正在努力围绕一个圆圈动态对齐按钮。
我想要实现的是将 n 个按钮(n 可以在创建时更改)添加到一个看起来像附加图像的视图:
我想避免使用 absoluteLayout(但如果这是解决它的唯一方法,我愿意接受建议)。 我已经计算出了按钮的 x/y 位置(暂时忽略按钮大小):
int iNumberOfButtons = 10;
double dIncrease = Math.PI * 2 / iNumberOfButtons,
dAngle = 0,
x = 0,
y = 0;
for( int i = 0; i < iNumberOfButtons; i++ )
{
x = 100 * Math.cos( dAngle ) + 200;
y = 100 * Math.sin( dAngle ) + 200;
dAngle += dIncrease;
// get button and set position?
}
我曾考虑在自定义视图中使用此代码,但从我所见,该视图需要从 ViewGroup 子类化以具有 addView 方法,然后再次似乎只有 absoluteLayout 允许设置 x、y 位置...我不知道如何实现这个功能。
稍后我可能会向该视图添加一些动画,因此如果可能的话,使用 SurfaceView 可能会很好,但这不是必需的。
【问题讨论】:
标签: android android-layout android-widget