系统溢出菜单的问题

头发还没秃a 2018-04-19 10:36:41

如图,系统的溢出右边会空出很多,怎么设置都不行,有大佬知道怎么修改系统溢出菜单宽度的么?
...全文
1237 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingiis 2018-04-20
  • 打赏
  • 举报
回复
引用 6 楼 zhumj_zhumj 的回复:
[quote=引用 5 楼 kingiis 的回复:] [quote=引用 4 楼 zhumj_zhumj 的回复:] [quote=引用 3 楼 kingiis 的回复:] 布局层级 ,如果包裹这个布局的父布局 只有100dp宽,那儿子只能被我们看到100dp。理解了吗
这我理解,问题是要怎么修改?溢出菜单我不是用的自定义的Popupwindow,是系统自动溢出的,我在 style 里面设置 <item name="android:dropDownWidth">120dp</item> 根本不起作用[/quote] popupwindow 使用时 选包裹自身的 然后布局内限制大小 pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); , R.layout.view_list 布局自己写, public PopupWindow get() { PopupWindow pop; final View view = View.inflate( act , R.layout.view_list , null); pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); pop.setTouchable(true); pop.setFocusable(true); pop.setAnimationStyle(R.style.PopTop); pop.setOutsideTouchable(false); pop.setBackgroundDrawable(new BitmapDrawable()); pop.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { backgroundAlpha(act, 1f); } }); initView(view, pop); return pop; }[/quote] 我这溢出菜单是系统menu自动溢出的,不是自定义的popupwindow,谢谢[/quote] 授人与渔,反被要授人以鱼
头发还没秃a 2018-04-20
  • 打赏
  • 举报
回复
引用 13 楼 z979451341 的回复:
[quote=引用 12 楼 zhumj_zhumj 的回复:] [quote=引用 11 楼 z979451341 的回复:] [quote=引用 10 楼 zhumj_zhumj 的回复:] [quote=引用 9 楼 z979451341 的回复:] 搞不了,连menu的view都获取不到
我在想有没有什么办法能反射出这个溢出菜单的布局呢。。。对反射不是很了解,所以不知道从何下手[/quote] 我看了Menu和MenuItem的源码,找不到关于view之类的属性,只找到ActionView,但是一点用都没用[/quote] 我找到了 ActionMenuView ,看看能不能从这个容器里面下手[/quote] 这个ActionMenuView没有出现在Menu、MenuItem,怎么用,如果你知道他们的之间的联系,把代码贴出来[/quote] ActionMenuView 是 Toolbar 专门放置 menu 的容器
键盘舞者113 2018-04-20
  • 打赏
  • 举报
回复
引用 12 楼 zhumj_zhumj 的回复:
[quote=引用 11 楼 z979451341 的回复:] [quote=引用 10 楼 zhumj_zhumj 的回复:] [quote=引用 9 楼 z979451341 的回复:] 搞不了,连menu的view都获取不到
我在想有没有什么办法能反射出这个溢出菜单的布局呢。。。对反射不是很了解,所以不知道从何下手[/quote] 我看了Menu和MenuItem的源码,找不到关于view之类的属性,只找到ActionView,但是一点用都没用[/quote] 我找到了 ActionMenuView ,看看能不能从这个容器里面下手[/quote] 这个ActionMenuView没有出现在Menu、MenuItem,怎么用,如果你知道他们的之间的联系,把代码贴出来
头发还没秃a 2018-04-20
  • 打赏
  • 举报
回复
引用 11 楼 z979451341 的回复:
[quote=引用 10 楼 zhumj_zhumj 的回复:] [quote=引用 9 楼 z979451341 的回复:] 搞不了,连menu的view都获取不到
我在想有没有什么办法能反射出这个溢出菜单的布局呢。。。对反射不是很了解,所以不知道从何下手[/quote] 我看了Menu和MenuItem的源码,找不到关于view之类的属性,只找到ActionView,但是一点用都没用[/quote] 我找到了 ActionMenuView ,看看能不能从这个容器里面下手
键盘舞者113 2018-04-20
  • 打赏
  • 举报
回复
搞不了,连menu的view都获取不到
键盘舞者113 2018-04-20
  • 打赏
  • 举报
回复
引用 10 楼 zhumj_zhumj 的回复:
[quote=引用 9 楼 z979451341 的回复:] 搞不了,连menu的view都获取不到
我在想有没有什么办法能反射出这个溢出菜单的布局呢。。。对反射不是很了解,所以不知道从何下手[/quote] 我看了Menu和MenuItem的源码,找不到关于view之类的属性,只找到ActionView,但是一点用都没用
头发还没秃a 2018-04-20
  • 打赏
  • 举报
回复
引用 9 楼 z979451341 的回复:
搞不了,连menu的view都获取不到
我在想有没有什么办法能反射出这个溢出菜单的布局呢。。。对反射不是很了解,所以不知道从何下手
头发还没秃a 2018-04-20
  • 打赏
  • 举报
回复
引用 7 楼 kingiis 的回复:
[quote=引用 6 楼 zhumj_zhumj 的回复:] [quote=引用 5 楼 kingiis 的回复:] [quote=引用 4 楼 zhumj_zhumj 的回复:] [quote=引用 3 楼 kingiis 的回复:] 布局层级 ,如果包裹这个布局的父布局 只有100dp宽,那儿子只能被我们看到100dp。理解了吗
这我理解,问题是要怎么修改?溢出菜单我不是用的自定义的Popupwindow,是系统自动溢出的,我在 style 里面设置 <item name="android:dropDownWidth">120dp</item> 根本不起作用[/quote] popupwindow 使用时 选包裹自身的 然后布局内限制大小 pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); , R.layout.view_list 布局自己写, public PopupWindow get() { PopupWindow pop; final View view = View.inflate( act , R.layout.view_list , null); pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); pop.setTouchable(true); pop.setFocusable(true); pop.setAnimationStyle(R.style.PopTop); pop.setOutsideTouchable(false); pop.setBackgroundDrawable(new BitmapDrawable()); pop.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { backgroundAlpha(act, 1f); } }); initView(view, pop); return pop; }[/quote] 我这溢出菜单是系统menu自动溢出的,不是自定义的popupwindow,谢谢[/quote] 授人与渔,反被要授人以鱼[/quote] 呵呵
头发还没秃a 2018-04-19
  • 打赏
  • 举报
回复
引用 1 楼 z979451341 的回复:
你能把项目上传吗,把链接贴出,你这样我真的不知道你用的啥控件实现的


键盘舞者113 2018-04-19
  • 打赏
  • 举报
回复
你能把项目上传吗,把链接贴出,你这样我真的不知道你用的啥控件实现的
头发还没秃a 2018-04-19
  • 打赏
  • 举报
回复
引用 5 楼 kingiis 的回复:
[quote=引用 4 楼 zhumj_zhumj 的回复:] [quote=引用 3 楼 kingiis 的回复:] 布局层级 ,如果包裹这个布局的父布局 只有100dp宽,那儿子只能被我们看到100dp。理解了吗
这我理解,问题是要怎么修改?溢出菜单我不是用的自定义的Popupwindow,是系统自动溢出的,我在 style 里面设置 <item name="android:dropDownWidth">120dp</item> 根本不起作用[/quote] popupwindow 使用时 选包裹自身的 然后布局内限制大小 pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); , R.layout.view_list 布局自己写, public PopupWindow get() { PopupWindow pop; final View view = View.inflate( act , R.layout.view_list , null); pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); pop.setTouchable(true); pop.setFocusable(true); pop.setAnimationStyle(R.style.PopTop); pop.setOutsideTouchable(false); pop.setBackgroundDrawable(new BitmapDrawable()); pop.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { backgroundAlpha(act, 1f); } }); initView(view, pop); return pop; }[/quote] 我这溢出菜单是系统menu自动溢出的,不是自定义的popupwindow,谢谢
kingiis 2018-04-19
  • 打赏
  • 举报
回复
引用 4 楼 zhumj_zhumj 的回复:
[quote=引用 3 楼 kingiis 的回复:] 布局层级 ,如果包裹这个布局的父布局 只有100dp宽,那儿子只能被我们看到100dp。理解了吗
这我理解,问题是要怎么修改?溢出菜单我不是用的自定义的Popupwindow,是系统自动溢出的,我在 style 里面设置 <item name="android:dropDownWidth">120dp</item> 根本不起作用[/quote] popupwindow 使用时 选包裹自身的 然后布局内限制大小 pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); , R.layout.view_list 布局自己写, public PopupWindow get() { PopupWindow pop; final View view = View.inflate( act , R.layout.view_list , null); pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); pop.setTouchable(true); pop.setFocusable(true); pop.setAnimationStyle(R.style.PopTop); pop.setOutsideTouchable(false); pop.setBackgroundDrawable(new BitmapDrawable()); pop.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { backgroundAlpha(act, 1f); } }); initView(view, pop); return pop; }
头发还没秃a 2018-04-19
  • 打赏
  • 举报
回复
引用 3 楼 kingiis 的回复:
布局层级 ,如果包裹这个布局的父布局 只有100dp宽,那儿子只能被我们看到100dp。理解了吗
这我理解,问题是要怎么修改?溢出菜单我不是用的自定义的Popupwindow,是系统自动溢出的,我在 style 里面设置 <item name="android:dropDownWidth">120dp</item> 根本不起作用
kingiis 2018-04-19
  • 打赏
  • 举报
回复
布局层级 ,如果包裹这个布局的父布局 只有100dp宽,那儿子只能被我们看到100dp。理解了吗

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧