【发布时间】:2015-06-29 14:25:57
【问题描述】:
我在这里尝试了一些建议,但没有人奏效,
这是问题所在,箭头指示我想要它们的位置
操作栏只显示 2 个图标
另一个在三点菜单中
我的 custom_menu.xml
<item
android:id="@+id/btnBold"
android:icon="@drawable/text_bold"
app:showAsAction="always"
android:onClick="onContextualMenuItemClicked"
android:title="Teste1">
</item>
<item
android:id="@+id/btnItalic"
android:icon="@drawable/text_italic"
app:showAsAction="always"
android:onClick="onContextualMenuItemClicked"
android:title="teste2">
</item>
<item
android:id="@+id/btnUnderline"
android:icon="@drawable/text_underline"
app:showAsAction="always"
android:onClick="onContextualMenuItemClicked"
android:title="teste3">
</item>
<item
android:id="@+id/btnStrike"
android:icon="@drawable/text_strike"
app:showAsAction="always"
android:onClick="onContextualMenuItemClicked"
android:title="teste2">
</item>
<item
android:id="@+id/btnForeground"
android:icon="@drawable/text_foreground"
app:showAsAction="always"
android:onClick="onContextualMenuItemClicked"
android:title="teste2">
</item>
<item
android:id="@+id/btnBackground"
android:icon="@drawable/text_background"
app:showAsAction="always"
android:onClick="onContextualMenuItemClicked"
android:title="teste2">
</item>
</menu>
以及 MainActivity 中的代码
private ActionMode mActionMode = null;
@Override
public void onActionModeStarted(ActionMode mode) {
if (mActionMode == null) {
mActionMode = mode;
Menu menu = mode.getMenu();
// Remove the default menu items (select all, copy, paste, search)
menu.clear();
// If you want to keep any of the defaults,
// remove the items you don't want individually:
// menu.removeItem(android.R.id.[id_of_item_to_remove])
// Inflate your own menu items
mode.getMenuInflater().inflate(R.menu.my_custom_menu, menu);
}
super.onActionModeStarted(mode);
}
// This method is what you should set as your item's onClick
// <item android:onClick="onContextualMenuItemClicked" />
public void onContextualMenuItemClicked(MenuItem item) {
switch (item.getItemId()) {
case R.id.btnBold:
// do some stuff
break;
case R.id.btnItalic:
// do some different stuff
break;
default:
// ...
break;
}
// This will likely always be true, but check it anyway, just in case
if (mActionMode != null) {
//mActionMode.finish();
}
}
@Override
public void onActionModeFinished(ActionMode mode) {
mActionMode = null;
super.onActionModeFinished(mode);
}
【问题讨论】:
-
当它们不能全部显示在屏幕上时会发生什么?
-
这种情况下可以缩小,但是左边空间很大,为什么要隐藏?
-
actionbar 不收缩项目,你想做的事情是行不通的
-
shrink 只是一种说法,所以我必须改变我的方法 =/,你知道如何在所选项目上方制作一个弹出对话框吗?我的意思是,就像当你有一个 EditText/TExtview 并选择文本时,会出现一种气泡,也许这可以满足我的需要(在这里抱歉这个问题)
-
嗨@user2582318,你找到出路了吗?
标签: android xml user-interface