首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MenuItem actionView右对齐

MenuItem actionView右对齐
EN

Stack Overflow用户
提问于 2014-04-04 23:04:08
回答 3查看 801关注 0票数 3

正如标题所说,我在MenuItem上使用setActionView进行设置,布局如下:

代码语言:javascript
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ProgressBar
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_margin="4dp"
        android:layout_centerInParent="true"/>

</RelativeLayout>

问题是ProgressBar显示为右对齐。(它应该与中心对齐,与MenuItem图标相同。图标是32dp

我如何才能做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2016-07-10 02:06:36

我今天遇到了类似的问题,因此找不到任何好的QA。因此我做了一些研究。以下是我在这个问题上的发现:

安卓菜单的实现方式如下:

如果您已将actionView膨胀为:

自定义视图图标(optional)

  • title (可选,或者可以通过将其设置为“”)

  • a

  • a custom

(可选,或者可以通过将其设置为“”)设置为可选

不设置图标,将标题设置为"“,并设置actionView使menuItem显示为只包含使用setActionView放大的自定义视图,然后:

安卓强制自定义视图的宽度wrap_content,其余区域由icon+title of menuItem占用。

我们可以将此实现想象为:

ParentLinearLayout之后的整个视图视为LinearLayout1LinearLayout2 (在上图中分别描绘为布局1和布局2)

现在LinearLayout1width=0dpweight=1LinearLayout2width=wrap_content

因此,无论我们设置什么,目前我们都不能在菜单中右对齐膨胀的自定义视图(动作视图)。

为了在技术上准确,如果你真的需要这样做,你可以通过查看Android导航菜单的内部实现代码来右对齐。但并不是真的值得你这么做。任何功能都是所需时间与结果之间的权衡。

票数 3
EN

Stack Overflow用户

发布于 2014-04-04 23:10:51

您应该在RelativeLayout中尝试使用android:gravity="center"

票数 0
EN

Stack Overflow用户

发布于 2014-04-04 23:21:46

尝试此android:layout_gravity="center"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22866378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档