【问题标题】:Android Profile image in actionbar操作栏中的 Android 个人资料图片
【发布时间】:2020-01-17 21:21:13
【问题描述】:

如何将个人资料图片放在默认的 ActionBar 中?

我的应用暂时如下图所示:

在上图中,第一个操作栏是默认的,第二个操作栏(带有图像和配置文件的名称)是我创建的。

我想使用带有图片的默认ActionBar,如下图所示:

也许我需要自己创建一个自定义的Actionbar,但是如果有办法使用默认的ActionBar,我会尝试。

【问题讨论】:

  • 看到这个answer可能会对你有所帮助。
  • 正如我所想...我必须创建自己的操作栏。 Android Studio 的文档告诉我们,在第 21 版之后,在操作栏上插入名称和图标不是最佳做法,只能插入一个或另一个,永远不要同时插入。谢谢大家。

标签: android android-actionbar


【解决方案1】:

您可以使用自定义操作栏

actionbar.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/profile_icon" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="APP_Name" />
</LinearLayout>

Activity.java

中添加以下行
Objects.requireNonNull(getSupportActionBar()).setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.actionbar);

您可以使用以下代码在操作栏上设置图标

setTitle("title");
getActionBar().setIcon(R.drawable.profile_icon);

如果您有恒定的徽标,则在manifest 文件中添加以下代码

针对单个活动

<activity android:name=".MyActivity" 
       android:icon="@drawable/profile_icon" 
       android:label="title" />  

适用于所有活动

<application
    android:logo="@drawable/profile_icon">

    ...

</application>

【讨论】:

  • 我们如何为 kotlin 做到这一点?
【解决方案2】:

您可以使用折叠工具栏,因为它会折叠并在折叠时显示为单个操作栏。向下拖动时,您将获得其中的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 2013-11-20
    • 2015-04-14
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多