I am new to badge's concept. In my application i want to show the badges on one tab. For that i used the android-viewbadger.jar file Android ViewBadger it is working fine with 4 tabs,
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();
when i add one more tab here it will look like this
i have already use these badge properties
badge1.setPadding(left, top, right, bottom);
badge1.setTextSize(15);
badge1.setBadgeMargin(5,5);
badge1.setWidth(10);
Setting badge on TabWidget will only show the badge in the space available between the drawable and the boundary of TabWidget, so adding more tabs will compress the badge. Instead using setIndicator(String,Drawable), try this:
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();
Screenshot:
You can clearly see in your screenshot that the image in the tab with badge is shifted towards the center. If there is no space between image and its tab boundary, it will not be displayed properly.
Source : Tested myself.
Hi set badge in child of view of tab in imageview
try this
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();
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With