是否可以定义不同的屏幕尺寸不同的菜单?我试着将文件夹res/menu-large
和res/menu-xlarge
,但菜单个XML我把这里有我XLARGE平板电脑没有影响。
没有一个真正的答案,只是一个想法,但过长的评论:
我不认为这是支持的,似乎这不是记录。但一个可能的想法是,对不同的值设置布尔值。例如,您可以设置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;
}
我从来没有测试过,因为生成的菜单上看起来所有屏幕尺寸好,如果你设置不同的可绘制到绘制文件夹。
您可以创建不同的屏幕尺寸不同的菜单文件夹,例如:
RES /菜单RES /菜单sw600dp RES /菜单sw720dp
等等..
然后把你的菜单文件中相应的文件夹,他们会在运行时有所回升。