android - Android 中上下文菜单的项目分隔符

标签 android

是否可以在 Android 的上下文菜单中的菜单项之间添加分隔符?我在文档中没有看到任何说明。显然,在某些情况下,菜单项在执行不同类型的操作时应该分开。

注意。问题是关于上下文菜单,而不是选项菜单。

最佳答案

首先我想到了一个解决方法——上下文菜单的自定义实现,例如 Icon Context Menu例如。这样的代码允许将菜单项类扩展到具有自定义 View 的特定菜单分隔符类。

...但是一段时间后我发现...

另一个(更简单的)解决方案是添加一个带有一行“_”(下划线)字符的菜单项(令人惊讶的是,这是 standard Android 字体中唯一可以显示多个实例的符号顺畅并排,没有间隙),然后使用 SpannableString 对齐 Java 代码中的项目文本。

字符串资源:

<string name="hr">______________________________</string>

适当调整字符串长度。

菜单布局:

<group android:checkableBehavior="none" android:enabled="false">
   <item android:id="@+id/menu_gap"
      android:title="@string/hr"
      android:enabled="false" />
</group>

Java:

private void alignCenter(MenuItem item)
{
    SpannableString s = new SpannableString(item.getTitle());
    s.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_CENTER), 0, s.length(), 0);
    item.setTitle(s);
}

关于android - Android 中上下文菜单的项目分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10414668/

相关文章:

android - 如何在较低的android版本中支持textView.setTextIsSelectable?

Android:嵌套的 tabactivities 不适用于 startActivityForResult

java - View.INVISIBLE 和 android :invisible 的值之间的区别

java - 来自服务器的字符串比需要的要短

android - 在不滞后屏幕预览的情况下获取android camera2预览帧

Android - 加载一个大的 Activity

Android Webview 电话 : link ERR_UNKNOWN_URL_SCHEME

java - Android平台如何开启SSL调试?

android - 从保存的实例恢复 fragment 时如何防止 editText 自动填充文本?

android - android连接wifi网络,密码错误返回