不同的菜单个XML为不同的屏幕尺寸

问题描述 投票:2回答:2

是否可以定义不同的屏幕尺寸不同的菜单?我试着将文件夹res/menu-largeres/menu-xlarge,但菜单个XML我把这里有我XLARGE平板电脑没有影响。

android menu
2个回答
1
投票

没有一个真正的答案,只是一个想法,但过长的评论:

我不认为这是支持的,似乎这不是记录。但一个可能的想法是,对不同的值设置布尔值。例如,您可以设置SOM RES值的文件夹:

RES /值-XLARGE RES /值-大RES /值-sw600dp

等等。在这种价值观,你可以宣布一个布尔值:

    <resources>
<bool name="isXLarge">true</bool>
    </resources>

要么

    <resources>
<bool name="isLarge">true</bool>
    </resources>

等等...

然后创建不同的菜单布局,如果它的一个值,则您可以开始。

menu_large.xml menu_xlarge.xml menu_sw620dp.xml

而在oncreateOptionsMenu:

    @Override
  public boolean onCreateOptionsMenu(Menu menu) {
   MenuInflater inflater = getMenuInflater();
   boolean xlargeValue = getResources().getBoolean(R.bool.isXlarge);
   boolean largevalue = getResources().getBoolean(R.bool.isLarge);
   boolean tabletValue = getResources().getBoolean(R.bool.sw620dp):

   if(xlargeValue==true){
   inflater.inflate(R.menu.menu_xlarge, menu);
   }else if(largevalue==true){
    inflater.inflate(R.menu.menu_large, menu);
   }else if(tabletValue==true){
      inflater.inflate(R.menu.menu_sw620dp, menu);
    }

   return true;
  }

我从来没有测试过,因为生成的菜单上看起来所有屏幕尺寸好,如果你设置不同的可绘制到绘制文件夹。


0
投票

您可以创建不同的屏幕尺寸不同的菜单文件夹,例如:

RES /菜单RES /菜单sw600dp RES /菜单sw720dp

等等..

然后把你的菜单文件中相应的文件夹,他们会在运行时有所回升。

© www.soinside.com 2019 - 2024. All rights reserved.