【发布时间】:2013-05-06 01:11:31
【问题描述】:
在我的应用程序中,我的布局如下:
1) 主视图可以移动和拖动。
2) 一些控制器可以添加到主视图中。他们的位置可以设置为TopLeft 或其他。这里的TopLeft 表示相对于主视图。(见this image)
现在我尝试通过扩展ViewGroup 来实现这一点,而main View 和controllers 都是从View 扩展而来的。
这就是我现在所做的:
class MyViewContainer extends ViewGroups{
@Override
public void onLayout(boolean changed,int l,int t,int b, int r){
for(int i=0,len=getChildCounts,i<len;i++){
View v=getChildAt(i);
if(v instanceof MainView){
v.layout(l,t,b,r);
}
else if(v instanceof MyController){
//here do not now know how to layout the childs according to their position
}
}
}
}
abstract MyController extends View{
}
class ZoomController extends MyController{
@Override
public void onDraw(Canvas c){
}
}
class AnotherController extends MyController{
@Override
public void onDraw(Canvas c){
}
}
class MainView extends View{
@Override
public void onDraw(Canvas c){
}
}
如您所见,我不知道如何布局MyControllers。因为我不完全知道controller 的宽度和高度。因为控制器的大小取决于它的绘制方式。
如何制作?
【问题讨论】:
标签: android layout view viewgroup