2014-09-29 4 views
6

배지 개념이 처음입니다. 내 응용 프로그램에서 하나의 탭에 배지를 보여주고 싶습니다. 이를 위해 나는 4 개 탭이 잘 작동 Android ViewBadger 안드로이드-viewbadger.jar 파일,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

답변

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 매우 감사합니다 –

+1

@AliAshiq 기꺼이 도와주었습니다 :) – berserk

1

안녕하세요 시도 이미지 뷰

에서 탭의 뷰의 아이에 배지 설정이

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 –