Android UI 의 내 페이지 원형 이미지 + 유 니 버 설 아 이 템 패키지 (코드 양 간소화)
일 주 효과 시범
이주 기능 점 기술 점
1. 원형 그림, mitmap 그림 처리, canvas 그림 그리 기
2. 일반적인 item 패키지, 세 가지 형식, 번 거 로 운 레이아웃 과 중복 코드 를 한 마디 로 대체 합 니 다.
삼 주 핵심 코드 설명
1. 원형 그림
/**
*
* author : JinBiao
* CSDN : http://my.csdn.net/DT235201314
* time : 2017/08/07
* desc: 사용자 정의 원형 그림
* version: 1.0
*
*/
public class CircleImageView extends AppCompatImageView {
private Paint paint ;
public CircleImageView(Context context) {
this(context,null);
}
public CircleImageView(Context context, AttributeSet attrs) {
this(context, attrs,0);
}
public CircleImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
paint = new Paint();
}
/**
* 원형 그림 그리 기
* @author caizhiming
*/
@Override
protected void onDraw(Canvas canvas) {
Drawable drawable = getDrawable();
if (null != drawable) {
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
Bitmap b = getCircleBitmap(bitmap, 14);
final Rect rectSrc = new Rect(0, 0, b.getWidth(), b.getHeight());
final Rect rectDest = new Rect(0,0,getWidth(),getHeight());
paint.reset();
canvas.drawBitmap(b, rectSrc, rectDest, paint);
} else {
super.onDraw(canvas);
}
}
/**
* 원형 이미지 획득 방법
* @param bitmap
* @param pixels
* @return Bitmap
* @author caizhiming
*/
private Bitmap getCircleBitmap(Bitmap bitmap, int pixels) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
int x = bitmap.getWidth();
canvas.drawCircle(x / 2, x / 2, x / 2, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
} xml 직접 사용 가능
유 니 버 설 아 이 템 패키지
내 페이지 는 보통 몇 개 혹은 몇 가지 유사 한 item 레이아웃 으로 이동 합 니 다.
그림 의 빨간색 상자 봉인 효과
내 페이지 item 흔 한 기능 분석
1. 고정된 그림 텍스트 화살표
2. 점프 기능 클릭
3. view 의 간격 설정
4. 입력 상자 가 있 는 아 이 템
봉 인 된 item 코드, 방법 설명 은 주석 참조
MineFragment 사용
4. 567913. 상세 한 포장 사상 과 조작 은 문장 을 참조한다.
(아 이 템 패키지 참조 문장)http://www.jianshu.com/p/9fa393aa1406
사주 총 결
1. 자바 OOP 사상 패 키 징 코드 와 간결
2. setTag 형식 으로 구분 클릭 시간 추가
3. DensityUtils 패 키 징 도구 류, dp sp 와 px 의 변환 에 사용
오 주 소스 코드 다운로드
제 블 로그 와 위 챗 공식 번호 에 관심 을 가 져 주 셔 서 감사합니다.
소스 다운 받 는 김 에 스타 도 꼭 챙 겨 주세요.
다운로드 링크:https://github.com/JinBoy23520/CoderToDeveloperByTCLer
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.