티스토리 뷰
- 뷰의 상속
- 비트맵 버튼
버튼의 기능을 .java로 따로 아예 구현을 해서 상속하는 식으로 구현한다.
이때 사용되는 invalidate 메소드는 화면을 다시 그려주는 메소드로, 화면을 갱신할 때 사용한다.
버튼을 상속해서 비트맵 버튼을 만들 때,
java class 파일 생성 시 Superclass로 AppCompatButton를 상속받아 만들면 된다.
BitmapButton.java
package com.example.mybutton;
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.MotionEvent;
import androidx.appcompat.widget.AppCompatButton;
public class BitmapButton extends AppCompatButton {
public BitmapButton(Context context) {
super(context);
init(context);
}
public BitmapButton(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
private void init(Context context){
setBackgroundResource(R.drawable.title_bitmap_button_normal);
float textSize = getResources().getDimension(R.dimen.text_size);
setTextSize(textSize);
setTextColor(Color.WHITE);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
switch(action){
case MotionEvent.ACTION_DOWN:
setBackgroundResource(R.drawable.title_bitmap_button_clicked);
break;
case MotionEvent.ACTION_UP:
setBackgroundResource(R.drawable.title_bitmap_button_normal);
break;
}
invalidate();
return true;
}
}
'Android' 카테고리의 다른 글
리스트뷰, 그리드뷰 예시 (0) | 2020.03.26 |
---|---|
인플레이션(Inflation) 예시 (0) | 2020.03.25 |
AlertDialog (알림 대화상자) 예시 (0) | 2020.03.25 |
토스트, 스낵바 예시 (0) | 2020.03.25 |
이벤트 처리 예시 (터치 리스너, 키 이벤트, 제스처 디텍터) (0) | 2020.03.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- CaseIterable
- 알림대화상자
- 제스처디텍터
- 다이얼연결
- 비트맵버튼
- 액션바
- 상태드로어블
- 쉐이프드로어블
- 어댑터
- 표현패턴
- 프래그먼트
- 데이터
- 페이저타이틀스트립
- 인플레이터
- prepareforreuse
- 프래그먼트매니저
- allcases
- Objective-C
- ios
- objc
- 스낵바설정
- subscript
- 전화걸기연결
- 뷰페이저
- 부가데이터
- 안드로이드
- swift
- 전화연결하기
- 터치리스너
- 카카오톡열기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함