2015-10-19 52 views
0

我有一個圓形菜單。我想把它整齊排列在所有屏幕的水平和垂直方向。 代碼是用來放置徑向菜單是:如何在Android編程中放置所有設備的圓形菜單中心

pieMenu.setCenterLocation(500500)

但它放置根據菜單像素單元,我認爲。 請幫助我。

menuExpandItem = new RadialMenuItem(getString(R.string.about), 
      getString(R.string.about)); 
    menuExpandItem .setDisplayIcon(R.drawable.ic_launcher); 
    menuExpandItem 
      .setOnMenuItemPressed(new RadialMenuItem.RadialMenuItemClickListener() { 
       @Override 
       public void execute() { 
        // Can edit based on preference. Also can add animations 
        // here. 
        getSupportFragmentManager().popBackStack(null, 
          FragmentManager.POP_BACK_STACK_INCLUSIVE); 
        getSupportFragmentManager() 
          .beginTransaction() 
          .replace(mFragmentContainer.getId(), 
            new RadialMenuAboutFragment()).commit(); 

       } 
      }); 






    // pieMenu.setDismissOnOutsideClick(true, menuLayout); 
    pieMenu.setAnimationSpeed(0L); 
    pieMenu.setSourceLocation(3,200); 
    pieMenu.setIconSize(15, 30); 
    pieMenu.setTextSize(13); 
    pieMenu.setInnerRingRadius(45,90); 
    pieMenu.setCenterLocation(550,1500); 
    pieMenu.setOutlineColor(Color.BLACK, 225); 
    pieMenu.setInnerRingColor(0xfbce25, 180); 
    pieMenu.setOuterRingColor(0x0099CC, 180); 
    //pieMenu.setHeader("Test Menu", 20); 
    pieMenu.setCenterCircle(menuCloseItem); 

    pieMenu.addMenuEntry(new ArrayList<RadialMenuItem>() { 
     { 
      add(menuItem); 
      add(menuExpandItem); 
      add(menuHome); 
     } 
    }); 
+0

你爲什麼使用代碼?在xml中使用 – dsharew

+0

可否請您提供一些代碼? –

+0

@DegenSharew它應該是java類中的代碼 –

回答

1

你可以使用語法在getSize像素的屏幕顯示尺寸如下

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

如果您在活動不是您可以通過WINDOW_SERVICE得到默認顯示:

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 
Display display = wm.getDefaultDisplay(); 

現在您可以計算中心並在您的代碼中使用它。

pieMenu.setCenterLocation(width/2,height/2); 
0

沒有看到更多的代碼,我會做:

DisplayMetrics displaymetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
int height = displaymetrics.heightPixels; 
int width = displaymetrics.widthPixels; 
pieMenu.setCenterLocation(width/2,height/2); 

但是這將是非常有用的,如果你能爲我們提供什麼更多的信息,並從那裏,你正在建設它(片段?對話框?活動?查看?)。

相關問題