以下是我的操作栏的代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/actionBarNew"
android:showAsAction="always"
android:scaleType="fitXY"
android:title="new" />
<item android:id="@+id/actionBarSave"
android:showAsAction="always"
android:scaleType="fitXY"
android:title="save" />
<item android:id="@+id/actionBarLoad"
android:showAsAction="always"
android:scaleType="fitXY"
android:title="load" />
<item android:id="@+id/actionBarDelete"
android:showAsAction="always"
android:scaleType="fitXY"
android:title="delete" />
</menu>
然后在我的 onCreate()方法中,我添加了这样的开关小部件:
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM, ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(actionBarSwitch, new ActionBar.LayoutParams(
ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL | Gravity.END));
actionBar.setTitle(title);
actionBarSwitch.setText(sfx);
actionBarSwitch.setTextColor(res.getColor(R.color.white));
actionBarSwitch.setChecked(soundOn);
actionBarSwitch.setOnCheckedChangeListener(this);
目前看来是这样的:
如您所见,左侧的开关小部件已被遮盖。应该在它的左边说“SFX”,但它不合适。有没有办法保持图标和所有其他操作栏图标可见?也许缩放到适合或什么?
感谢任何帮助,谢谢。
答案 0 :(得分:4)
以下是我的操作栏的代码
我不认为android:scaleType
是MenuItem
的公认属性。
有没有办法让图标和所有其他操作栏图标可见?
Use the split action bar,将您的操作栏项目(NEW等)移动到狭窄设备上的屏幕底部。
也许缩放到适合的东西?
虽然欢迎您尝试使用视图属性来扩展Switch
的大小,但无法保证在完成后有足够的空间来使用Switch
。您无法控制常规操作栏项的缩放。
答案 1 :(得分:0)
恕我直言,这有点滥用ActionBar。如果你肯定想要适应那里的所有东西,你可以尝试通过在活动顶部添加一个带有背景颜色的LinearLayout来模仿ActionBar。您应该能够使用LayoutWeight参数来使窗口小部件适合。