PopupMenu 的自定义布局
我是 Android 新手,尝试为 android.widget.PopupMenu
创建自定义布局 我搜索但找不到有效的解决方案。
我想要
我想要左侧绿线,底部菜单项分隔线。 这是 PopupMenu 项目的自定义布局
我只需要使用 android.widget.PopupMenu 。 我尝试过这个,但没有用。
在//app/src/main/res/layout/menu_item_more.xml
中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFAAAA">
</LinearLayout>
在//app/src/main/res/menu/more_menu.xml
中
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_item_notification_news"
app:actionLayout="@layout/menu_item_more"
android:title="알림/소식" />
<item
android:id="@+id/menu_item_employment_info"
android:title="취업정보" />
<item
android:id="@+id/menu_item_public_relation"
android:title="시정홍보" />
<item
android:id="@+id/menu_item_preferences"
android:title="환경설정" />
</menu>
在Activity中
var moreMenu: View = findViewById(R.id.more_menu)
popupMenu = PopupMenu(this, moreMenu)
popupMenu.menuInflater.inflate(R.menu.more_menu, popupMenu.menu)
popupMenu.setOnMenuItemClickListener(this)
popupMenu.show()
I am new to Android, trying to crate a custom layout for android.widget.PopupMenu
I searched but could not find a working solution.
I want
I want left side green line, bottom menu items separating line.
That is a customised layout for PopupMenu items
I need to use android.widget.PopupMenu only.
I tried this, but not working.
In //app/src/main/res/layout/menu_item_more.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFAAAA">
</LinearLayout>
In //app/src/main/res/menu/more_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_item_notification_news"
app:actionLayout="@layout/menu_item_more"
android:title="알림/소식" />
<item
android:id="@+id/menu_item_employment_info"
android:title="취업정보" />
<item
android:id="@+id/menu_item_public_relation"
android:title="시정홍보" />
<item
android:id="@+id/menu_item_preferences"
android:title="환경설정" />
</menu>
In Activity
var moreMenu: View = findViewById(R.id.more_menu)
popupMenu = PopupMenu(this, moreMenu)
popupMenu.menuInflater.inflate(R.menu.more_menu, popupMenu.menu)
popupMenu.setOnMenuItemClickListener(this)
popupMenu.show()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过创建自己的从 PopupMenu 扩展的组件并重写以下方法?该方法负责返回列表布局。
希望我有帮助!让我知道这是否有效! :)
Have you tried creating your own component extending from PopupMenu and overriding the following method? This method is the one responsible for returning the list layout.
Hope i helped! Let me know if that worked! :)