Viewbadger 메시지 알림의 실현

2551 단어 androidUI
Viewbadger 항목의 다운로드 주소https://github.com/jgilfelt/android-viewbadger
일단 사용법.
BadgeView badgeView = new BadgeView(this, iv1); 

새 BadgeView 대상입니다. 매개 변수의 첫 번째는context 대상이고, 두 번째 매개 변수는 연결된view 대상입니다. (메시지 알림을 표시하는view)
BadgeView 대상을 설정하면textview를 설정하는 것처럼BadgeView의 속성을 설정할 수 있습니다. 마지막으로 show 방법을 사용해서 이BadgeView를 표시하는 것을 기억하십시오.사용하는 방법이 굉장히 간단해요.
//      
badge.setText("1");
//           
badgeView.setTextSize(8.5f);
badgeView2.setBackgroundResource(R.drawable.noread);
//           
badgeView.setTextColor(Color.DKGRAY); 

badge.show();

//  badgeView
</pre><pre>
badgeView.sethide();
badgeView.setVisibility(View.GONE);

위에서 설명한 속성 설정의 사용 방법은 다음과 같습니다.
BadgeView는textview에서 계승되었다. 단지 그의parentview와 자신 사이에 프레임워크 레이아웃을 추가했다. BadgeView의 디스플레이 효과로 볼 때 우리는 그의 구조를 기본적으로 볼 수 있다. 프레임워크 레이아웃은 메시지 힌트를 표시하는view, 하나의BadgeView가 힌트를 표시하는 메시지이다.구체적 실현:BadgeView의 구조 방법에서 new BadgeView(this, targetview), targetview는BadgeView와 귀속된view이다. 가장 먼저 하는 일은 targetview의parentview를 얻는 것이다. 이parentview에서 targetview를 제거하고 framelayout을 추가하여 대체하는 것이다. 그 다음에 이framelayout에 제거된 targetview와BadgeView 자체를 추가한다.
private void applyTo(View target) {
		
		LayoutParams lp = target.getLayoutParams();
		ViewParent parent = target.getParent();
		FrameLayout container = new FrameLayout(context);
		
		if (target instanceof TabWidget) {
			
			// set target to the relevant tab child container
			target = ((TabWidget) target).getChildTabViewAt(targetTabIndex);
			this.target = target;
			
			((ViewGroup) target).addView(container, 
					new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
			
			this.setVisibility(View.GONE);
			container.addView(this);
			
		} else {
			
			// TODO verify that parent is indeed a ViewGroup
			ViewGroup group = (ViewGroup) parent; 
			int index = group.indexOfChild(target);
			
			group.removeView(target);
			group.addView(container, index, lp);
			
			container.addView(target);
	
			this.setVisibility(View.GONE);
			container.addView(this);
			
			group.invalidate();
			
		}
		
	}

여기에 targetview가 Tabwidget일 때도 있지만 구글은 Tablayout을 사용하는 것을 권장하지 않기 때문에 기본적으로 고려하지 않아도 된다.
Tabwidget에 직접 추가).
다음에 표시할 때 프레임레이아웃에 있는 BadgeView의 표시 속성 (배경, 글꼴 색 등) 을 설정합니다.이렇게 하면BadgeView가 완성되었고 비교가 간단하며 원본 코드에도 하나의 종류가 있다.
메모가 추가된 소스를 추가하려면 다음과 같이 하십시오.http://download.csdn.net/detail/u012806692/9453562

좋은 웹페이지 즐겨찾기