是否可以在选项菜单上创建,但将其放在页面底部。我正在使用<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
。我知道默认情况下它位于顶部,但我认为它可以被买到底部。我只是不知道如何。
这是我的代码
option_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/scan"
android:icon="@android:drawable/ic_menu_search"
android:title="@string/connect"/>
<item android:id="@+id/discoverable"
android:icon="@android:drawable/ic_menu_mylocation"
android:title="@string/discoverable"/>
</menu>
main.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.scan:
// Launch the DeviceListActivity to see devices and do scan
Intent serverIntent = new Intent(this, DeviceListActivity.class);
startActivityForResult(serverIntent, REQUEST_CONNECT_DEVICE);
return true;
case R.id.discoverable:
// Ensure this device is discoverable by others
ensureDiscoverable();
return true;
}
return false;
}
任何帮助都会很棒。
答案 0 :(得分:8)
看到您定位sdk 17,您可以使用SplitBar,它是默认ActionBar
上可用的选项:http://developer.android.com/guide/topics/ui/actionbar.html#SplitBar。
您需要在清单文件中需要的每个活动中声明它,例如:
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:uiOptions="splitActionBarWhenNarrow" />
然后在onCreate
功能中,如果您仍需要在屏幕顶部显示其他按钮,还可以调用自定义布局:
ActionBar actionBar = getActionBar();
actionBar.setCustomView(R.layout.action_bar_custom); //load menu
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME|ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.show();
默认情况下,正常显示在顶部的图标将显示在底部,但您仍然可以使用自定义布局添加自定义操作按钮,例如本示例中的自定义布局。
setDisplayOptions
函数描述为here。
编辑:菜单将仅显示在较窄的屏幕上,较大的设备或横向模式下方,将显示顶部的默认操作栏。