【问题标题】:Code Is Same But The Popup Menu Looks Different In Another Activity代码相同,但弹出菜单在另一个活动中看起来不同
【发布时间】:2021-10-07 13:08:48
【问题描述】:

所以当有人点击一个更垂直的图标时,我试图创建一个弹出菜单。它工作得很好。但在一项活动中,弹出菜单看起来很奇怪。由于某些原因,文本为黑色且超小。我使用的是相同的代码,并且没有在任何活动中应用自定义样式。

代码

p =  new PopupMenu(this,more);
p.inflate(R.menu.topic_menu);

more.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                p.show();
            }
        });

上面的代码很基本。

菜单文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">


    <item
        android:id="@+id/report"
        android:orderInCategory="100"
        android:title="Report Topic" />

    <group android:checkableBehavior="single">

        <item
            android:id="@+id/mute"
            android:checkable="true"
            android:orderInCategory="100"
            android:title="Mute Topic" />

    </group>

    <item
        android:id="@+id/delete"
        android:orderInCategory="100"
        android:title="Delete Topic" />
</menu>

但是问题,

在三个活动中看起来很正常,

但是这个看起来很奇怪,

在图像中,文本似乎被隐藏了。但文字确实在那里。如果放大,您会在该弹出菜单中看到超小的黑色文本

我不知道 more_vert 图标的 imageview 代码是否重要,但在这里,

                     <ImageView
                        android:id="@+id/more"
                        android:layout_width="26dp"
                        android:layout_height="26dp"
                        android:layout_alignParentEnd="true"
                        android:layout_centerVertical="true"
                        android:layout_marginEnd="13dp"
                        android:src="@drawable/baseline_more_vert_white_36dp"
                         />

那么问题出在哪里?需要帮助:(

【问题讨论】:

  • 看起来“怪异”的活动是否基于不同的主题?
  • @Traendy 我没有分配任何自定义主题。但是该图像视图位于 CoordinatorLayout > material.appbar.AppBarLayout > material.appbar.CollapsingToolbarLayout > RelativeLayout > 然后是 more_vert imageview。我不知道这是否会成为问题。除此之外,布局文件中没有任何异常。
  • @Traendy nvm 修复了它。

标签: java android xml android-layout popupmenu


【解决方案1】:

没关系修复它。

我只是输入 PopupMenu,Android Studio 正在自动完成导入。所以我从来没有对此有任何怀疑。但我只是再次检查了导入,然后......

对于正常活动,导入是,

import androidx.appcompat.widget.PopupMenu;

对于不那么正常的活动,导入是,

import android.widget.PopupMenu;

所以我把它改成了,

import androidx.appcompat.widget.PopupMenu;

现在一切正常。对于这个简单的事情,所有的头痛。对不起。

【讨论】:

    猜你喜欢
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 2016-05-22
    • 1970-01-01
    相关资源
    最近更新 更多