본문 바로가기

Android

[Android] Invalidate 화면을 갱신한다. View에서 onDraw() 가 호출 된 이후, 화면은 더 이상 갱신되지 않은채로 남아있게 된다. 하지만 애니메이션등 기타 효과들을 구현하기 위해서는 이벤트에 따라 화면을 갱신 할 필요가 있다. invalidate() Invalidate the whole view. postInvalidate() Cause an invalidate to happen on a subsequent cycle through the event loop. 위의 두 메소드가 View의 화면을 갱신하는데에 이용이된다. invalidate의 API설명을 읽어보면 "전체 뷰의 무효화"라고 되어있다. 즉 현재 View에 나타나 있는 모든 그림 및 이미지들을 무효화해서 화면에 나타나지 않게 한다는 것이다. 뷰를 무효화 한 후에는 다시 화면을.. 더보기
[Android] SharedPreferences를 이용해서 변수 저장하기. SharedPreferences라는 인터페이스는 ContextWrapperd의 getSharedPreferences에서 반환된 환경 설정등의 값을 공유하는 단일 인스턴스이다. 해당 환경 설정값에 대한 수정은 SharedPreferences.Editor를 통해 이루어진다. SharedPreferences spf = getSharedPreferences("MODE", 0); int mode = spf.getInt("mode", 0); abstract Map getAll() Retrieve all values from the preferences. abstract boolean getBoolean(String key, boolean defValue) Retrieve a boolean value from the.. 더보기
[Android] 리스트 영역 나누기(3) - 리스너 추가하기 체크박스 영역이 클릭되도록 하는 방법은 아주 간단하다. 그저 LinearLayout을 상속받은 CheckBoxArea를 xml로부터 불러와 OnClickListener만 추가해주면 되는것이다. @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = vi.inflate(R.layout.list_items, null); } final CheckBoxArea cba = (CheckBoxArea.. 더보기
[Android] 안드로이드 체크박스 스타일 바꾸기 알다시피 안드로이드의 기본 체크박스의 형태의 위의 스크린샷과 같은 모양이다. 무난한 모양으로 보기에 나쁘지 않지만 자신만의 스타일로 체크박스를 꾸며보는것도 나쁘지 않다. 디자인 실력이 부족하여 그다지 이쁘게 만들지는 못했지만 위와같은 모양의 체크박스를 만드는 것이 가능하다. 우선 이미지가 필요하다. 최소한 체크되지 않은 상태, 체크된 상태의 이미지 두장은 필요하고 체크되지 않은 상태에서 프레스가 들어왔을때, 체크가 되었을때 프레스가 들어왔을때, non check시 포커스, check시 포커스, enable, disable등 다양한 조건에서의 표현도 가능하다. 여기서는 간단하게 네장의 이미지를 가지고 체크박스를 만들어본다. 위부터 순서대로 체크상태, 체크에서 프레스된 상태, 기본상태, 프레스가 들어온 상태.. 더보기