2010-04-09 79 views
23

我正在嘗試向我的android應用程序中的圖標添加徽章。例如在Facebook應用程序(iPhone版)中,在主頁中,掛起請求的數量顯示在請求圖標上。Android:爲我的應用程序內部的圖標添加徽章

有人可以提供任何鏈接/想法如何做到這一點?

謝謝

+1

2016年有什麼變化嗎?我們現在有圖書館嗎? – 2016-09-17 01:41:47

+0

類似的問題與很好的回答:http://stackoverflow.com/questions/17565307/ – porfirion 2016-10-06 12:19:06

回答

7

Android不支持圖標上的徽章。

相反,它提供通知系統(通知欄中的圖標等),以及創建可添加到用戶「桌面」的widgets的功能。

20

如果你真的想這樣做。使用FrameLayout,其中包含一個ImageView與您的圖標和一個TextView以及一個可繪製的九個方塊作爲背景在右上角。如果您希望徽章稍微偏離圖標,請將邊距添加到ImageView

+0

非常酷,必須安裝那一個。 – synic 2010-04-09 20:43:19

+0

我如何使用小部件下的文本創建背景? – chrisonline 2011-05-25 14:29:40

+0

@alexanderblom - http://alexanderblom.se/gmail-unread-count/現在不能工作..你能否提供一個新的..實際上我希望這個功能可以在TabHost – 2011-11-28 07:27:08

8

感謝Alexanderblom,爲hints.i使用該邏輯並設法在內部imageicon上創建徽章。這裏是xml文件。您必須在drawable上創建一個紅色圓圈。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/frameLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" /> 


    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="20dip" 
     android:layout_height="20dip" 
     android:text="5" 
     android:textColor="@color/black" 
     android:textStyle="bold" 
     android:padding="2sp" 
     android:gravity="center" 
     android:background="@drawable/circle" 
     android:layout_gravity="top|right" /> 

</FrameLayout> 

和circle.xml是

<item> 
    <shape android:shape="oval"> 
     <solid android:color="@android:color/black" /> 
    </shape> 
</item> 
<item android:top="1dp" android:left="1dp" android:right="1dp" android:bottom="1dp"> 
    <shape android:shape="oval"> 
     <solid android:color="@color/Red" /> 

    </shape> 
</item> 
0

按照以下定義附加的通知計數步驟應用程序圖標

步驟:

  1. 添加mavenCentral到您的構建腳本。

    庫{mavenCentral()}

  2. 添加依賴於你的應用程序gradle這個。

    依賴性{ 編譯 'me.leolin:ShortcutBadger:[email protected]' 或 編譯 'me.leolin:ShortcutBadger:[email protected]' }

  3. 添加下面的代碼在應用圖標上顯示通知計數:

    int badgeCount = 1; ShortcutBadger.applyCount(context,badgeCount); // for 1.1.4 或 ShortcutBadger.with(getApplicationContext())。count(badgeCount); // for 1.1。3

  4. 如果你想刪除的徽章

    ShortcutBadger.removeCount(背景); // for 1.1.4 ShortcutBadger.with(getApplicationContext())。remove(); // for 1.1.3 or ShortcutBadger.applyCount(context,0); // for 1.1.4 ShortcutBadger.with(getApplicationContext())。count(0); // for 1.1.3

相關問題