Intereting Posts

Добавить новый элемент в значок на кнопке – Android

Я разработчик. Мне нужно реализовать проект, показанный ниже. У меня уже есть функциональное приложение, но интересно, как это сделать? Particulary, мне интересно, как показать количество «новых» элементов под вкладками. Что я ЗНАЮ, как это сделать – это создавать новые значки с красными точками и просто отображать их, когда доступны новые материалы.

Но я не знаю, как заставить эти круглые круги плавать поверх заголовка И показывать номер внутри. Есть ли у кого-нибудь предложение о том, что тоже нужно искать? Образцы? Направления?

Второй вопрос об отделении деятельности. Должен ли я сделать контроль над комбинацией таких кнопок и просто надуть его на действия? В противном случае я могу создать вкладку, но я не уверен, можно ли ее стилизовать, чтобы она выглядела так.

Часть верхней навигации

Solutions Collecting From Web of "Добавить новый элемент в значок на кнопке – Android"

Сделайте свой значок TextView , позволяя вам установить числовое значение для чего угодно, вызвав setText() . Задайте фон TextView как XML <shape> drawable, с помощью которого вы можете создать сплошной или градиентный круг с рамкой. Выделяемый XML будет масштабироваться, чтобы соответствовать представлению, поскольку он изменяет размер с более или менее текстом.

Рез / рисуем / badge_circle.xml:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#F00" /> <stroke android:width="2dip" android:color="#FFF" /> <padding android:left="5dip" android:right="5dip" android:top="5dip" android:bottom="5dip" /> </shape> 

Вам нужно будет взглянуть на то, как овальные / круглые шкалы с большими 3-4-значными номерами. Если этот эффект нежелателен, попробуйте использовать закругленный прямоугольник, как показано ниже. При небольших числах прямоугольник по-прежнему будет выглядеть как круг, так как радиусы сходятся друг с другом.

Рез / рисуем / badge_circle.xml:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="10dip"/> <solid android:color="#F00" /> <stroke android:width="2dip" android:color="#FFF" /> <padding android:left="5dip" android:right="5dip" android:top="5dip" android:bottom="5dip" /> </shape> 

С созданным масштабируемым фоном вы просто добавляете его на задний план TextView , например:

 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="10" android:textColor="#FFF" android:textSize="16sp" android:textStyle="bold" android:background="@drawable/badge_circle"/> 

Наконец, эти значки TextView можно поместить в ваш макет поверх соответствующих кнопок / вкладок. Я бы, вероятно, сделал это, группируя каждую кнопку со своим значком в контейнере RelativeLayout , например:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/myButton" android:layout_width="65dip" android:layout_height="65dip"/> <TextView android:id="@+id/textOne" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@id/myButton" android:layout_alignRight="@id/myButton" android:text="10" android:textColor="#FFF" android:textSize="16sp" android:textStyle="bold" android:background="@drawable/badge_circle"/> </RelativeLayout> 

Надеюсь, это достаточно информации, чтобы хоть как-то вы указали в правильном направлении!

Вместо использования овала вы можете использовать форму кольца, чтобы нарисовать идеальный заполненный круг.

Пожалуйста, см. Мой ответ здесь .

Введите описание изображения здесь

Android ViewBadger

Простой способ «пропускать» любой данный Android-просмотр во время выполнения без необходимости обслуживать его в макете.

Добавить файл .jar в папку libs

Нажмите, чтобы скачать Пример

См. Пример по github

Простой пример:

 View target = findViewById(R.id.target_view); BadgeView badge = new BadgeView(this, target); badge.setText("1"); badge.show(); 

Я просто добавляю файл .jar в папку моих приложений lib в Android Studio и щелкаю правой кнопкой мыши по библиотеке, а затем добавляю его как библиотеку. Он отлично работает и доступен в любом месте проекта.