与 iRoom
如果有足够的空间,Android 应该查看按钮,否则会溢出。
遗憾ActionBar
如果 iRoom
,尽管有可用空间和屏幕尺寸,按钮总是被迫溢出属性已设置并且仅在我使用属性 always
时显示.
我的 ActionBar 菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_social_share"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:icon="@drawable/action_social_share"
android:title="@string/action_social_share"/>
<item
android:id="@+id/action_home"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:icon="@drawable/action_home"
android:title="@string/action_home"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_about"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_about"/>
</menu>
我的 Activity
import android.app.ActionBar;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
public class InfoViewerActivity extends FragmentActivity {
private ActionBar bar;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_infoviewer);
bar = this.getActionBar();
bar.setDisplayHomeAsUpEnabled(true);
bar.setDisplayShowHomeEnabled(false);
bar.setDisplayUseLogoEnabled(false);
bar.setHomeButtonEnabled(true);
bar.setDisplayShowTitleEnabled(false);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.info_viewer, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_home:
//TO DO
return true;
case R.id.action_social_share:
//TO DO
return true;
case R.id.action_settings:
//TO DO
return true;
case R.id.action_about:
//TO DO
return true;
default:
// Handle your other action bar items...
return super.onOptionsItemSelected(item);
}
}
}
我找不到这个问题的原因,并且多次使用类似的代码都没有这个问题。
最佳答案
查看关于该主题的第一个答案 showAsAction="ifRoom" doesn't show the item even when there is plenty of room 可能是命名空间问题。希望对您有所帮助。
关于android - 如果设置了 iRoom 属性,ActionBar 按钮总是强制溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29323886/