2010-04-09 13 views
23

내 Android 앱의 아이콘에 배지를 추가하려고합니다. 예 : 페이 스북 앱 (iPhone 용)의 홈 페이지에서 대기중인 요청 수가 요청 아이콘에 표시됩니다.Android : 내 앱 내부 아이콘에 배지 추가

다른 사람이이를 수행하는 방법에 대한 링크 나 아이디어를 제공해 줄 수 있습니까?

고마워

+1

2016 년에 변경된 사항이 있습니까? 지금 라이브러리가 있습니까? –

+0

좋은 답변과 비슷한 질문 : http://stackoverflow.com/questions/17565307/ – porfirion

답변

7

Android는 아이콘 배지를 지원하지 않습니다.

대신 알림 시스템 (알림 표시 줄의 아이콘 등)과 사용자 "데스크톱"에 추가 할 수있는 widgets을 생성하는 기능을 제공합니다.

20

정말로하고 싶다면. FrameLayout에는 ImageView에 아이콘이 있고 TextView에는 9 패치 드로어 블이 오른쪽 구석에 배경으로 포함되어 있습니다. 아이콘 바깥쪽에 배지를 추가하려면 ImageView에 여백을 추가하십시오.

+0

아주 멋진데, 그걸 설치해야합니다. – synic

+0

그러면 위젯 아래에 텍스트가있는 배경을 어떻게 만듭니 까? – chrisonline

+0

@alexanderblom - http://alexanderblom.se/gmail-unread-count/ 현재 작동하지 않습니다. 새 기능을 제공 해주시기 바랍니다. 사실이 기능을 TabHost –

8

감사합니다 Alexanderblom, hints.i의 논리를 사용하고 내부 imageicon.here에 배지를 생성 할 수 있도록 관리합니다. 여기에 XML 파일이 있으며 드로어 블에 빨간색 원을 만들어야합니다.

<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 (컨텍스트)를 제거 할 경우; // 1.1.4 ShortcutBadger.with (getApplicationContext()). remove(); // for 1.1.3 또는 ShortcutBadger.applyCount (context, 0); // for 1.1.4 ShortcutBadger.with (getApplicationContext()). count (0); // for 1.1.3

관련 문제