2014-09-29 39 views
6

我是徽章概念的新手。在我的應用程序中,我想在一個選項卡上顯示徽章。對於我所使用的Android的viewbadger.jar文件Android ViewBadger 它做工精細用4個選項卡,Tabhost-設置標籤中的徽章位置Android

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(); 

enter image description here

當我在這裏增加一個選項卡,將這個樣子

enter image description here

我已經使用這些標誌性

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

http://kevinpelgrims.com/blog/2014/06/24/adding-a-badge-to -an-actionbar-tab – Shijil 2014-09-29 11:51:09

回答

1

設置TabWidget上的徽章將只顯示可繪製TabWidget和邊界之間可用空間的徽章,因此添加更多選項卡將壓縮徽章。除了使用setIndicator(字符串,可繪製),試試這個:

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(); 

截圖: screen

你可以在你的屏幕截圖,在與徽章標籤圖像向中心轉移清楚地看到。如果圖像與其製表符邊界之間沒有空格,則不會正確顯示。

來源:測試我自己。

+0

這是完美的答案和工作就像一個魅力@berserk非常感謝你 – 2014-09-30 13:05:23

+1

@AliAshiq很高興它幫助:) – berserk 2014-09-30 13:42:33

1

喜在imageview的

設置徽章的視圖選項卡中的孩子試試這個

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(); 

      } 
     } 
+0

http://stackoverflow.com/questions/26402748/tabhost-android-viewbadger-badge -issue 看看這個問題@calinbros – 2014-10-27 10:50:30