Android: добавьте значок к значкам внутри моего приложения

Я пытаюсь добавить значки к значкам в моем приложении для Android. например, в приложении facebook (для iPhone), на домашней странице количество ожидающих запросов отображается на значке запросов.

Может ли кто-нибудь предоставить какие-либо ссылки / идеи о том, как это сделать?

Спасибо

6 ответов

Если вы действительно хотите это сделать. Использовать FrameLayout который содержит ImageView с вашим значком и TextView с правым уголком в правом нижнем углу. Добавьте поля к ImageView если вы хотите, чтобы значок находился немного за пределами значка.

Спасибо Alexanderblom, за hints.i использовал эту логику и сумел создать значок на внутреннем изображении. Здесь находится 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>

Android не поддерживает значки на значках.

Вместо этого он предоставляет систему уведомлений (значки в панели уведомлений и т. Д.), А также возможность создавать виджеты, которые можно добавлять на "рабочий стол" пользователей.

Проверьте эту библиотеку, которая добавляет значок на иконку / кнопку / вкладку

https://github.com/jgilfelt/android-viewbadger

Попробуйте этот, это хорошо для Sony, Samsung, LG, HTC, Xiaomi, ASUS, ADW, APEX и NOVA Launchers.

https://github.com/leolin310148/ShortcutBadger

Следуйте ниже определите шаги для добавления счетчика уведомлений к значку приложения

шаги:

  1. Добавьте mavenCentral в ваш скрипт сборки.

    репозитории { mavenCentral() }

  2. Добавьте зависимости в своем приложении gradle.

    зависимости {скомпилируйте 'me.leolin:ShortcutBadger:1.1.4@aar' или скомпилируйте 'me.leolin:ShortcutBadger:1.1.3@aar' }

  3. Добавьте приведенные ниже коды для отображения количества уведомлений на значке приложения:

    int badgeCount = 1; ShortcutBadger.applyCount (context, badgeCount); // для 1.1.4 или ShortcutBadger.with(getApplicationContext()).count(badgeCount); // для 1.1.3

  4. Если вы хотите удалить значок

    ShortcutBadger.removeCount(контекст); // для 1.1.4 ShortcutBadger.with(getApplicationContext()).remove(); // для 1.1.3 или ShortcutBadger.applyCount(context, 0); // для 1.1.4 ShortcutBadger.with(getApplicationContext()).count(0); // для 1.1.3

Другие вопросы по тегам