Tabhost – установить положение значка на вкладках Android

Я новичок в концепции значка. В моем приложении я хочу показать значки на одной вкладке. Для этого я использовал Android-viewbadger.jar файл Android ViewBadger, он отлично работает с 4 вкладками,

TabWidget tabs = (TabWidget) findViewById(android.R.id.tabs); badge1 = new BadgeView(this, tabs, 1); badge1.setText("155"); badge1.setBadgePosition(BadgeView.POSITION_BOTTOM_RIGHT); badge1.toggle(); 

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

Когда я добавлю еще одну вкладку, она будет выглядеть так:

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

Я уже использовал эти свойства значка

  badge1.setPadding(left, top, right, bottom); badge1.setTextSize(15); badge1.setBadgeMargin(5,5); badge1.setWidth(10); 

Установка значка в TabWidget будет отображать только значок в пространстве между доступным и границей TabWidget, поэтому добавление дополнительных вкладок сжимает значок. Вместо этого используйте setIndicator (String, Drawable), попробуйте следующее:

  ImageView iv = new ImageView(this); iv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); iv.setImageResource(R.drawable.whoseinterested); whosespec.setIndicator(iv); Intent whoseIntent = new Intent(this, BlankActivity.class); whosespec.setContent(whoseIntent); tabHost.addTab(whosespec); badge1 = new BadgeView(this, iv); badge1.setText("155"); badge1.setTextSize(15); badge1.setBadgeBackgroundColor(Color.BLACK); badge1.setTextColor(Color.WHITE); badge1.toggle(); 

Скриншот: экран

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

Источник: Протестировал себя.

Привет, установлен значок в дочернем окне вкладки в представлении изображения

попробуй это

  TabWidget tabsw = (TabWidget) rootView.findViewById(android.R.id.tabs); ViewGroup viewgroup = (ViewGroup) tabsw.getChildAt(0); viewgroup.getChildCount(); for (int i = 0; i < viewgroup.getChildCount(); i++) { if (viewgroup.getChildAt(i) instanceof ImageView) { ImageView new_name = (ImageView) viewgroup.getChildAt(i); badge7 = new BadgeView(getActivity(),new_name); badge7.setText("9"); badge7.setTextSize(9); badge7.setBadgeMargin(0,0); badge7.setBadgePosition(BadgeView.POSITION_TOP_RIGHT); badge7.toggle(); } } 
Intereting Posts
Не удалось решить: com.android.support:appcompat-v7 24.0.1 Захват местоположения пользователя с помощью google maps v2 на Android? Jni call java, который использует пользовательский интерфейс java в качестве параметра Фотографии picasso для Android размером больше или подходят для ImageView (без пробелов) Как получить номер телефона получателя SMS в Android Автоматическое определение номера телефона, электронной почты и URL-ссылки в Webview – Android sdk AOSP построен на настраиваемом устройстве Ошибка раздувания класса android.webkit.WebView происходит спорадически в производстве Как переопределить заголовок по умолчанию с пользовательским заголовком в android Как защита от копирования для Android может быть проверена, если устройство укоренено? Android – кнопка «Назад» в строке заголовка Не удалось загрузить библиотеку libopencv_java.so Можно ли изменить цвет центра в радиальном градиенте андроида? Невозможно установить точки останова в некоторых местах источника SDK Android (Eclipse) Как исправить эту ошибку singleCursorHandlerTouchEvent -getEditableSupport FASLE в Android