图片未显示在 Android Studio 的工具栏中 (Flamingo)

Image not showing in Toolbar in Android Studio (Flamingo)

提问人:Sarmad Ali 提问时间:8/7/2023 最后编辑:Sarmad Ali 更新时间:8/7/2023 访问量:71

问:

我在自定义工具栏中显示图像和 TextView 时遇到了问题。 我有这个布局结构。

RelativeLayout -> androidx.appcompat.widget.Toolbar -> LinearLayout(horizontal) -> ImageView,TextView。

另外,我在项目中内置了 ActionBar,我使用了

getSupportActionBar().hide();
``` to remove it.

here is the complete XML code.

I have checked on both virtual and physical device but images and text of toolbar not showing. 
 

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:background="@color/white"
    android:elevation="6dp"
    android:minHeight="?attr/actionBarSize"
    android:theme="?attr/actionBarTheme"
    tools:ignore="UnusedAttribute">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        tools:ignore="UselessLeaf">

        <ImageView
            android:id="@+id/imageView8"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="10dp"
            android:foreground="@drawable/camera"
            android:contentDescription="@string/todo1" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_weight="1"
            android:fontFamily="@font/bilbo_swash_caps"
            android:gravity="center_vertical"
            android:text="@string/instagram"
            android:textColor="@color/textcolor"
            android:textSize="25sp"
            android:textStyle="bold"
            tools:ignore="InefficientWeight,TextSizeCheck" />

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="10dp"
            android:contentDescription="@string/todo2"
            app:srcCompat="@drawable/instatv" />

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="5dp"
            android:layout_marginRight="10dp"
            android:layout_marginBottom="10dp"
            android:contentDescription="@string/todo"
            android:tint="@color/textcolor"
            app:srcCompat="@drawable/send"
            tools:ignore="UseAppTint" />
    </LinearLayout>


</androidx.appcompat.widget.Toolbar>
```

我用过

android:src
app:srcCompat
android:foreground
android:background

我还更改了颜色以查看差异,但即使更改工具栏中的颜色也不起作用。

它是值\主题.xml代码

<resources xmlns:tools="http://schemas.android.com/tools">

<!-- Base application theme. -->
<style name="Theme.App" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge">
    <!-- Primary brand color. -->
    <item name="colorPrimary">@color/purple_500</item>
    <item name="colorPrimaryVariant">@color/purple_700</item>
    <item name="colorOnPrimary">@color/white</item>
    <!-- Secondary brand color. -->
    <item name="colorSecondary">@color/teal_200</item>
    <item name="colorSecondaryVariant">@color/teal_700</item>
    <item name="colorOnSecondary">@color/black</item>
    <!-- Status bar color. -->
    <item name="android:statusBarColor" tools:targetApi="21">?attr/colorPrimaryVariant</item>
    <!-- Customize your theme here. -->
-->
</style>

它是 night\themes.xml代码

<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.App" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge">
    <!-- Primary brand color. -->
    <item name="colorPrimary">@color/purple_200</item>
    <item name="colorPrimaryVariant">@color/purple_700</item>
    <item name="colorOnPrimary">@color/black</item>
    <!-- Secondary brand color. -->
    <item name="colorSecondary">@color/teal_200</item>
    <item name="colorSecondaryVariant">@color/teal_200</item>
    <item name="colorOnSecondary">@color/black</item>
    <!-- Status bar color. -->
    <item name="android:statusBarColor" tools:targetApi="21">?attr/colorPrimaryVariant</item>
    <!-- Customize your theme here. -->
</style>

这是我收到的警告工具栏消息。出于这个原因,当我尝试使用工具栏做任何事情时,它没有受到影响。

此检查查找在 XML 文件中设置的属性,这些属性是在比应用程序所针对的最早版本(具有 minSdkVersion 属性)更新的版本中引入的。这不是错误;应用程序将直接忽略该属性。但是,如果该属性对应用程序的外观或功能很重要,则应考虑找到一种替代方法,仅使用可用属性即可实现相同的结果,然后可以选择在 layout-vNN 文件夹中创建布局的副本,该文件夹将在 API NN 或更高版本上使用,您可以在其中利用较新的属性。注意:此检查不仅适用于属性。例如,某些标记也可以不使用,例如 API 21 中引入的布局中的新元素。

java android android-studio android-imageview

评论

0赞 Sarmad Ali 8/7/2023
任何人??????????
0赞 Ghazanfar Ateeb 8/7/2023
您的方法有点错误,因为这样做可以隐藏操作栏更改父级,这样您就不需要使用 getSupportActionBar.hide() 也检查您的主题 .xml 也许您遇到了颜色问题theme.xml<style name="Theme.<Your App Theme>" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge">
0赞 Sarmad Ali 8/7/2023
@GhazanfarAteeb 这样做,应用程序没有运行。我还在那里添加了主题 .xml,请查看
0赞 Ivan Abakumov 8/7/2023
嗨,@SarmadAli,我已将您的XML代码添加到我的测试项目中。这就是我的样子。我只替换了图标。一切似乎都正常。你也看到了吗?
0赞 Sarmad Ali 8/7/2023
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main);NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);NavigationUI.setupWithNavController(binding.navView, navController);

答: 暂无答案