2011-04-27 78 views
1

我的Android项目出现问题。屏幕上的浮动按钮填充视图?

我有一个屏幕填充自定义视图,它显示一个画布。画布由背景图片和另一个图片图层组成,其中可以用手指绘制。另外,画布视图可以被拖动并缩放。 现在我实施了'longClicks'的检测,即在相同区域下放一秒钟。作为这种手势的结果,应该在指出的区域上弹出一个小菜单。菜单本身应该包含一些类似于TabHost/TabWidget的东西,即在顶部的骑手上的小图标,其在菜单的下部显示单独的EditText,按钮等。

现在的问题是:它在技术上怎么做?

1)我玩过TabHost等,但我认为只有在有TabActivity时才可以使用。它是否正确?

2)然后我搜索了一个可能性,用这个TabActivity覆盖我的主要活动,导致这是可能的,但我无法真正控制覆盖活动的放置位置,它总是从左上角开始。是否有可能在屏幕上放置一个活动?

3)接下来,我放弃了我的想法与标签菜单,并寻找一种可能性,只覆盖我的看法与另一种观点(并有可能再次删除它)。我读过,使用ViewManager是可能的。但是,我如何访问ViewManager?文档说:http://developer.android.com/reference/android/view/ViewManager.html

调用Context.getSystemService()。

但通过这个函数,我只能得到WindowManager而不是ViewManager。跆拳道?

我现在真的被卡住了......有人能帮我一把吗?

编辑: 我通过以编程方式实例化Layout来管理视图问题,然后将其作为contentView传递。

rl = new RelativeLayout(getBaseContext()); 
rl.addView(cview); 
cview.setId(1111); 
View overlay = getLayoutInflater().inflate(R.layout.menuoverlay, rl, false); 
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
lp.addRule(RelativeLayout.ALIGN_LEFT, cview.getId()); 
lp.addRule(RelativeLayout.CENTER_VERTICAL, cview.getId()); 
rl.addView(overlay, lp); 

现在正在布局中的静态和写一些getter/setter方法的时候,我现在能控制添加和删除的意见。

private static rl; 
//scroll scroll 
public static void addView(View view){ 
rl.addView(view); 

}

回答

0

1)我TabHost等发挥各地,但我认为有TabActivity当it's只可以使用。它是否正确?

号对于使用TabHost没有TabActivity的一个例子,看看Is it realizable on Android?

+0

谢谢,我要试试这个! – stk 2011-04-28 15:15:21