簡體   English   中英

如何在 Android 工具欄中使用圖標而不是標題?

[英]How can I use an icon instead of a title in the Android Toolbar?

我通過 AppCompat 使用工具欄(而不是 ActionBar)。 我想用圖標替換工具欄的標題(應用程序/活動名稱),但我不知道該怎么做。

我的圖標只是使用非標准字體的文本,所以我猜它可能在 Material Design 中被允許。

在您的活動中使用以下步驟:

  1. 聲明工具欄對象:

     Toolbar toolbar = (Toolbar) findViewById(R.id.tool1); 
  2. 設置支持操作欄:

     setSupportActionBar(toolbar); 
  3. 刪除標題:

     getSupportActionBar().setDisplayShowTitleEnabled(false); 
  4. 在drawable文件夾中添加您的徽標:

     res/drawable. 
  5. 使用此代碼添加徽標:

     toolbar.setLogo(R.drawable.ic_launcher); 

在 styles.xml 首先為沒有標題和標志的操作欄制作一個樣式

<style name="ActionBar.NoTitle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <item name="displayOptions">useLogo|showHome</item>
        <item name="logo">@drawable/ic_logo</item>
    </style>

然后使用新的操作欄樣式為您的活動創建自定義主題

<!-- Create a style for MainActivity called AppTheme.Main that uses our custom ActionBar style -->

<style name="AppTheme.Main" parent="@style/AppTheme">
    <item name="actionBarStyle">@style/ActionBar.NoTitle</item>
</style>

然后go到指定activity下的manifest文件設置主題為AppTheme.Main

android:theme="@style/AppTheme.Main"

希望對大家有所幫助

以下是一個非常相似的問題的答案: Android Lollipop,從工具欄中的標題添加彈出菜單

它歸結為使用工具欄作為ViewGroup(例如,LinearLayout也是ViewGroup)。 布局設計器當前不支持,但您可以在XML中添加子節點。

然后你需要調用它來刪除標准的標題文本:getSupportActionBar()。setDisplayShowTitleEnabled(false);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM