我正在开发一个使用SlidingMenu和Action Bar Sherlock的Android应用程序。
在肖像模式下,每件事情都很好,但对于平板电脑横向模式,我是并排加载帧,所以那时我不想要slideMenu。
如何仅在横向模式下禁用它?
答案 0 :(得分:2)
最好的方式和最动态的是您在bool.xml
和res -> values
res -> values-sw720dp-land
文件
在bool.xml中添加values
文件夹:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="allowSildingMenu">true</bool>
</resources>
和values-sw720dp-land
中的bool.xml写:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="allowSildingMenu">false</bool>
</resources>
然后阅读您活动中的值:
if(getResources().getBoolean(R.bool.allowSildingMenu) == true){
//add sliding menu
} else
//don't show it.
<强>更新强>
现在,如果您不想在上面的else语句中显示getSupportActionBar().setDisplayHomeAsUpEnabled(true)
,请向其添加false。
但是,如果您想将您重定向到之前的活动,则必须在onOptionsItemSelected
函数中进行一些更改。
类似的东西:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId() == android.R.id.home) {
if(getResources().getBoolean(R.bool.portrait_only) == true)
//then open the slide menu..
else
super.onBackPressed();
}
}
希望此解决方案适合您。