gpt4 book ai didi

android - Android中的空menuPopup窗口

转载 作者:行者123 更新时间:2023-11-30 05:05:02 46 4
gpt4 key购买 nike

在我的应用程序中,操作栏中的菜单未正确呈现。全是白色,尺寸也不正常。我已尝试更改背景并且可以看到文字,但形状仍然不正常。

The menu

菜单正在运行,您可以单击并 吹图是用layout Inspector拍的,

This is a normal menu

This is what I've got

我几乎搜索了所有内容以获取正常菜单,但找不到方法。

  1. 布局似乎没有正确充气。
  2. 文字颜色与背景颜色相同。

有什么建议吗?

风格

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">#AFDDF6</item>
<item name="colorPrimaryDark">#9FFFFF</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:actionMenuTextColor">@color/Black</item>
</style>

菜单.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/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never"/>

<item
android:id="@+id/action_info"
android:orderInCategory="200"
android:title="info"
app:showAsAction="always"
android:icon="@android:drawable/ic_dialog_info"/>
</menu>

和依赖项;

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha02'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0-alpha01'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.1.0-alpha03'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.android.gms:play-services-places:16.0.0'
implementation 'com.google.maps.android:android-maps-utils:0.4.4'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.2-alpha01'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.2-alpha01'

菜单创建

public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return true;
}

创建时

protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_test);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitle(R.string.MainTitle);

CollapsingToolbarLayout mCollapsingToolbarLayout = findViewById(R.id.collapsing_toolbar);

与AppBarLayout相关的XML部分

<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:expandedTitleTextAppearance="@style/ExpandedAppBar"
app:collapsedTitleTextAppearance="@style/CollapsedAppBar"
app:expandedTitleGravity="bottom|center_horizontal"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:toolbarId="@+id/toolbar">


<ImageView
android:id="@+id/imageview_topMainActivity"
android:layout_width="match_parent"
android:layout_height="200dp"
android:scaleType="fitXY"
android:src="@drawable/header"
app:layout_collapseMode="parallax"
/>

<include layout="@layout/toolbar"/>

工具栏 XML

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin">

</androidx.appcompat.widget.Toolbar>

最佳答案

我运行了您的代码并遇到了类似的问题。然后我将 AppBarLayout 中的“android:theme”更改为 androidx 包中的一个新的,并且菜单中的文本变得可见:

  <com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/ThemeOverlay.MaterialComponents.ActionBar.Primary"
>

Your screen

这就是你要找的吗?

关于大小,它是androidX 新样式的默认值。但是如果你想像以前一样拥有它,那么你需要改变 parent from

"parent="Theme.MaterialComponents.Light.NoActionBar"

"parent="Theme.MaterialComponents.Light.NoActionBar.Bridge"

以您的 AppTheme 风格。

关于android - Android中的空menuPopup窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54727680/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com