Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android弹出菜单分隔线的样式_Android_Android Layout_Customization_Divider_Android Popupwindow - Fatal编程技术网

Android弹出菜单分隔线的样式

Android弹出菜单分隔线的样式,android,android-layout,customization,divider,android-popupwindow,Android,Android Layout,Customization,Divider,Android Popupwindow,我在我的应用程序中使用了两个弹出菜单s,它们都按预期工作 但是我想用白线分隔各个项目,但是我找不到我应该在哪里设置这个。我希望能够访问底层的ListView,但这似乎是不可能的。我也看不到与分隔线相关的样式项 这是否可能,我应该在哪里/如何设置它?我已经能够使用以下技术(基于此答案的线索)更新弹出菜单上的分隔颜色 创建一个样式如下 <style name="popupMenuStyle" > <item name="android:textColor">#fff

我在我的应用程序中使用了两个
弹出菜单
s,它们都按预期工作

但是我想用白线分隔各个项目,但是我找不到我应该在哪里设置这个。我希望能够访问底层的ListView,但这似乎是不可能的。我也看不到与分隔线相关的样式项


这是否可能,我应该在哪里/如何设置它?

我已经能够使用以下技术(基于此答案的线索)更新弹出菜单上的分隔颜色

创建一个样式如下

<style name="popupMenuStyle" >
    <item name="android:textColor">#ffffff</item>
    <item name="android:itemBackground">#000000</item>
    <item name="android:divider">#eaeaea</item>
    <item name="android:dividerHeight">1dp</item>
</style>
这确实显示了一条分界线,但菜单的高度似乎没有正确计算以包括新的分界线,并且显示了一个垂直滚动条


如果有人知道原因,请添加评论

这就是我如何做到的。色库背景是改变分线器的颜色

    <style name="PopupMenu">
    <item name="android:itemBackground">@color/background_medium_gray</item>
    <item name="android:background">@android:color/transparent</item>
    <item name="android:textColor">@android:color/black</item>
    <item name="android:colorBackground">@color/BackgroundGray</item>
    <item name="android:dividerHeight">1dp</item>
</style>

    Context context = new ContextThemeWrapper(getActivity(), R.style.PopupMenu);
    final PopupMenu popupMenu = new PopupMenu(context, view);

    final MenuInflater menuInflater = popupMenu.getMenuInflater();

@颜色/背景\中等\灰色
@android:彩色/透明
@android:彩色/黑色
@颜色/背景灰
1dp
Context Context=new ContextThemeWrapper(getActivity(),R.style.PopupMenu);
最终弹出菜单弹出菜单=新弹出菜单(上下文、视图);
final MenuInflater MenuInflater=popupMenu.getMenuInflater();

这对@flexicoder有帮助吗@garfbradaz不,这是文本而不是分隔线Hey@Flexicoder你能试着添加分隔线和分隔线吗?如下图所示:
#ffffff#000000@style/DropDown.Theme@color/your#color 1dp
我可以用这种方式摆脱垂直滚动条。为什么它在Android 6.0上对我不起作用。唯一对我有效的是设置文本颜色和背景,但分割器不显示…根据我们的用户体验,我必须使用白色作为背景,不幸的是,分割器也使用白色背景。当我将菜单背景更改为任何其他颜色时,我会看到分隔符,但当它为白色时,我看不到分隔符。。。那么,如何更改分隔器的颜色@android:color/holo_red_dark不起作用…@Vincy-听起来你需要问一个新问题question@pablogeorge他的回答为我解决了这个问题。非常感谢两位!我想知道你是否知道如何设置分隔符宽度,比如总菜单宽度的80%;
    <style name="PopupMenu">
    <item name="android:itemBackground">@color/background_medium_gray</item>
    <item name="android:background">@android:color/transparent</item>
    <item name="android:textColor">@android:color/black</item>
    <item name="android:colorBackground">@color/BackgroundGray</item>
    <item name="android:dividerHeight">1dp</item>
</style>

    Context context = new ContextThemeWrapper(getActivity(), R.style.PopupMenu);
    final PopupMenu popupMenu = new PopupMenu(context, view);

    final MenuInflater menuInflater = popupMenu.getMenuInflater();