[英]Fragment on top android ActionBar
我有一个ImageView
的Fragment
。 如何在顶级系统android ActionBar
上显示此Fragment
?
对于:Wottah ActionBar
应该可见。 重叠部分是我的重中之重。 我们需要对此使用一些东西:
ImageView view = new ImageView (getActivity ());
view.setBackgroundColor (Color.GREEN);
WindowManager.LayoutParams p = new WindowManager.LayoutParams ();
p.gravity = Gravity.TOP;
p.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL;
p.token = view.getWindowToken ();
WindowManager mWindowManager = (WindowManager) getActivity (). GetSystemService(Context.WINDOW_SERVICE);
mWindowManager.addView (view, p);
Wottah,很遗憾,您的回答没有帮助。 我查找了android popupwindow的源文件及其在我的项目中应用的决定。
任务:我们有申请。 (正如我们所知)standart android actionbar是应用程序的单独部分,我的观点可能不是最重要的证据。
解决方案如下:我的看法:
private class MyView extends ImageView
{
public MyView(Context context)
{
super(context);
}
//it must be override
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK)
{
activity.onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
}
我如何使用它:
private void createMyView()
{
view = new MyView(activity.getBaseContext());
view.setBackgroundResource(R.drawable.*******);
WindowManager mWindowManager = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams p = new WindowManager.LayoutParams();
p.width = iconWidth;
p.height = iconHeight;
p.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
p.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL;
p.token = view.getWindowToken();
p.gravity = Gravity.TOP;
p.x = x;
p.format = PixelFormat.TRANSLUCENT;
mWindowManager.addView(view, p);
view.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//TODO
}
});
}
如果您调整布局样式,则可以隐藏操作栏,这样就不需要任何怪异的构造即可将ImageView放在其顶部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.