http://developer.android.com/reference/android/os/Build.VERSION.html
android.os.Build.VERSION.SDK_INT 가 SDK 버전을 뜻하는데
Build.VERSION_CODES의 상수들과 비교가 가능하다.
예) OS가 프로요 이전일때
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) {
...
}
http://developer.android.com/reference/android/os/Build.VERSION.html
android.os.Build.VERSION.SDK_INT 가 SDK 버전을 뜻하는데
Build.VERSION_CODES의 상수들과 비교가 가능하다.
예) OS가 프로요 이전일때
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) {
...
}
Mac OS X 10.7 Lion에서 컴파일하려니 삽질중..
http://groups.google.com/group/android-building/browse_thread/thread/bd566c8b513a4946
아직 성공은 하지 못했고 Kernel.org가 맛이 가서 CodeAurora를 통해 하다 보니 잘안되는듯
http://php.webtutor.pl/en/2011/09/05/kernel-org-hacked-how-to-get-android-repo/
Kernel.org는 8월 28일 해킹된걸로 아는데 아직까지도 복구가 되지 않고 있다-_-
이런게 오픈소스의 문제인가..
여튼 안드로이드 소스를 받는 방법이 위의 링크에..
[추가]
–repo-url 도 추가해줘야하는 듯
repo init -u git://codeaurora.org/platform/manifest.git -b froyo –repo-url=git://codeaurora.org/tools/repo.git
EditText에 포커스가 가 있을 때에는 onBackPressed 등에서 이벤트가 잡히지 않는다.
이때는 dispathKeyEventPreIme를 사용할 수 있다.
@Override
public boolean dispatchKeyEventPreIme(KeyEvent event) {
if (mContext != null) {
InputMethodManager imm = (InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive() && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// 뭔가의 동작
}
}
return super.dispatchKeyEventPreIme(event);
}
ListView나 Adapter view들은 항목이 적으면 거기에 맞춰서 크기를 줄이게 되는데
갤럭시나 갤럭시나 갤럭시같이 요상한 커스텀화로 ListView에서 over scroll을 지원하는 경우
밑은 텅텅비었는데 스크롤이 되어서 밑에 잘린것 같이 보이는 경우가 있습니다.
그래서 또 쓸데없이 ListView의 크기를 굳이 늘려줘야합니다.
int mItemHeightNormal = 0; @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); mItemHeightNormal = this.getMeasuredHeight(); // 한 행의 높이를 얻을 수 있습니다. int parentWidth = MeasureSpec.getSize(widthMeasureSpec); mParentHeight = MeasureSpec.getSize(heightMeasureSpec); // 부모가 요구하는 최대 높이. 다른 view를 고려하지 않아 이걸 높이로 바로 쓰면 가려져도 스크롤이 안되는 상황이. this.setMeasuredDimension(parentWidth, mParentHeight); } |
protected void onLayout(boolean changed, int l, int t, int r, int b) { // 여기서 b-t는 ListView가 가질 실제 높이가 된다 if (mItemHeightNormal * getCount() > b) { // 스크롤이 안될 상황에서만 b를 최대 높이로 설정 b = mParentHeight; } super.onLayout(changed, l, t, r, b); } |
여러가지로 시도해보다 나오게 된 코드인데 더 좋은 방법이 있으면 알려주시길..