2012-06-01 137 views
2

我有FragmentImageView。如何在top系統android ActionBar上顯示Fragment片段頂部安卓ActionBar

對於:Wottah ActionBar應該是可見的。重疊應該是我的一部分。我們需要在這個使用的東西:如果你適應你的佈局風格,你可以隱藏行動起來吧,你不需要任何奇怪的結構,以把一個ImageView的在它上面這樣

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); 
+0

請定義你「片段之上Android系統動作條」的意思。 – CommonsWare

+0

查看修訂後的問題。 – Tronum

回答

1

Wottah,不幸的是你的回答沒有幫助。我查了一下android popupwindow的源文件和他們決定在我的項目中應用。

任務:我們有應用程序。和標準的android操作欄(我們知道)是應用程序的一個單獨的部分,我的觀點可能不是它的證據。

以下解決方案: 我的觀點:

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 
      } 
     }); 
    } 
0

+0

ActionBar應該是可見的。重疊應該是我的一部分。 我們需要使用以下內容: ImageView view = new ImageView(getActivity()); view.setBackgroundColor(Color.GREEN); WindowManager.LayoutParams p = new WindowManager.LayoutParams(); p.gravity = Gravity.TOP; p.width = 100; p.height = 900; p.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL; p.token = view.getWindowToken(); WindowManager mWindowManager =(WindowManager)getActivity()。 GetSystemService(Context.WINDOW_SERVICE); mWindowManager.addView(view,p); – Tronum

+0

但它不工作=( – Tronum

+0

你可以格式化嗎?它真的很難讀 – Wottah