Tabhost- Set The Badge Position In Tabs Android
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 ta
Solution 1:
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:
ImageViewiv=newImageView(this);
iv.setLayoutParams(newLayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
iv.setImageResource(R.drawable.whoseinterested);
whosespec.setIndicator(iv);
IntentwhoseIntent=newIntent(this, BlankActivity.class);
whosespec.setContent(whoseIntent);
tabHost.addTab(whosespec);
badge1 = newBadgeView(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.
Solution 2:
Hi set badge in child of view of tab in imageview
try this
TabWidgettabsw= (TabWidget) rootView.findViewById(android.R.id.tabs);
ViewGroupviewgroup= (ViewGroup) tabsw.getChildAt(0);
viewgroup.getChildCount();
for (inti=0; i < viewgroup.getChildCount(); i++) {
if (viewgroup.getChildAt(i) instanceof ImageView) {
ImageViewnew_name= (ImageView) viewgroup.getChildAt(i);
badge7 = newBadgeView(getActivity(),new_name);
badge7.setText("9");
badge7.setTextSize(9);
badge7.setBadgeMargin(0,0);
badge7.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);
badge7.toggle();
}
}
Post a Comment for "Tabhost- Set The Badge Position In Tabs Android"