Android 带有后退按钮、标题、带有图标和文本的菜单项的工具栏,以编程方式更新菜单项文本
我需要一个类似于此图像的操作栏 操作栏应该有--“后退按钮在左角,活动标题在中间,在操作栏的右角有几个菜单项。” 我尝试过使用此选项将Android 带有后退按钮、标题、带有图标和文本的菜单项的工具栏,以编程方式更新菜单项文本,android,android-actionbar,Android,Android Actionbar,我需要一个类似于此图像的操作栏 操作栏应该有--“后退按钮在左角,活动标题在中间,在操作栏的右角有几个菜单项。” 我尝试过使用此选项将ImageButton与左侧对齐,但它隐藏了标题 如果我使用菜单项,则左上角的“后退”按钮将丢失 自定义布局: 菜单项: 我怎样才能达到所有这些要求的行动栏 编辑 回答: 我想可以分三步完成: 如接受答案中所述,添加toolbar.setDisplayHomeAsUpEnabled(true) 添加后退按钮 通过工具栏添加标题和子标题。添加标题(“文本”)和
ImageButton
与左侧对齐,但它隐藏了标题
如果我使用菜单项,则左上角的“后退”按钮将丢失
toolbar.setDisplayHomeAsUpEnabled(true)代码>
添加后退按钮
工具栏添加标题和子标题。添加标题(“文本”)
和工具栏。添加副标题(“文本”)
默认情况下,菜单图标位于右侧。如果希望它们在
工具栏中可见,则在菜单项中添加android:showAsAction=“always”
如果它的值设置为“从不”,则项将添加到这三个点中
回答(4年后)
app:actionLayout=“@layout/filter\u icon”
<?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/clear"
android:title="Clear"
app:showAsAction="always" />
<item
android:id="@+id/filter"
android:title="Filter"
app:actionLayout="@layout/filter_icon"
app:showAsAction="always" />
<item
android:title="Option"
app:showAsAction="never" />
</menu>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableStart="@drawable/ic_filter"
android:text="0"
android:gravity="bottom"
android:padding="8dp"
android:textColor="@color/colorWhite"
android:textSize="14sp" />
结果
更新后
当然,您不需要为您的需求实现自定义布局。工具栏是您所需要的 我可以从你的图片中看到,你给了后退按钮一个图片,这不是应该怎么做的。您只需在清单文件的activity标记下提及父活动,如下所示:
android:parentActivityName=“com.example.myapp.MainActivity”
然后在活动类中编写此代码(也可以使用工具栏代替ActionBar)
ActionBar ActionBar=getActionBar();
actionbar.setDisplayHomeAsUpEnabled(true)代码>
“后退”按钮会自动出现。然后您可以添加菜单项,菜单项将显示在右侧
更多参考指南。感谢您提供@deepu513链接。但这不是我的要求。在教程中,菜单项被添加到工具栏中,默认情况下,工具栏将添加到右角。我需要在右角添加一个项,因为仅包含外部链接的答案不好。如果链接失效会发生什么?@m0skit0我知道,但我现在在办公室,答案相当大,所以我给了他链接。@deepu513我将在您修复它时删除downvote。@deepu513另一个查询..正如您可以看到购物车图像和上面的数字(指示购物车中的项目数量),我通过使用布局和单独的图像并在其上设置文本来实现这一点。。对于本页,默认主页不起作用。独自研究和尝试是一个良好的开端。@m0skit0我没有在未搜索的情况下发布此问题。我参考了这么多教程中的20-30个答案,但没有找到任何相关内容。真的吗?第一次搜索第一次成功:我有一个我提到的答案列表,但这一个不在其中。@m0skit0对于一个6个月前开始编码的开发人员来说,这是非常困难的。艰难的道路。神奇之旅:D
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.filter_menu, menu)
countView = menu?.findItem(R.id.filter)?.actionView as TextView
return super.onCreateOptionsMenu(menu)
}
fun updateMenuCount() {
countView?.text = "${selectedCategoryHierarchy.size} "
}