언제나 갤럭시 시리즈는 맘에 안든다.

MapView에 자기 위치를 표시하기 위해서는 가장 간단히는 MyLocationOverlay 를 사용한다.
센서 설정해줄 필요도 없이 알아서 표시하고 위치 따라다니고 편하거든.

오늘 테스트를 하는데 다른것들은 괜찮은데 갤럭시A에서 그냥 MapView 페이지만 들어가면 죽는것이다.
리소스를 많이 먹나 했는데 그런쪽은 아닌거다.

E/AndroidRuntime( 1662): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 1662): java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable
E/AndroidRuntime( 1662):        at com.google.android.maps.MyLocationOverlay.getLocationDot(MyLocationOverlay.java:180)
E/AndroidRuntime( 1662):        at com.google.android.maps.MyLocationOverlay.drawMyLocation(MyLocationOverlay.java:561)
E/AndroidRuntime( 1662):        at com.google.android.maps.MyLocationOverlay.draw(MyLocationOverlay.java:511)
E/AndroidRuntime( 1662):        at com.google.android.maps.OverlayBundle.draw(OverlayBundle.java:45)
E/AndroidRuntime( 1662):        at com.google.android.maps.MapView.onDraw(MapView.java:494)
E/AndroidRuntime( 1662):        at android.view.View.draw(View.java:6535)
E/AndroidRuntime( 1662):        at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
E/AndroidRuntime( 1662):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
E/AndroidRuntime( 1662):        at android.view.ViewGroup.drawChild(ViewGroup.java:1529)
E/AndroidRuntime( 1662):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)


구글에게 물어봤다.
http://community.developer.motorola.com/t5/Android-App-Development-for/Google-Maps/m-p/3421/highlight/true#M396


갤럭시에서 아마도 현재 위치를 표시하는 리소스를 빼먹은거 같다.
그래서 오류가 있을 경우 직접 현재 위치를 고쳐주게 한다는 의미이다.
자세한것은 위를 참조
MyLocationOverlay 를 위의것으로 대체.

현재 위치 표시하는 이미지는 직접 만들어서 지정하면 된다.
없으면 저 위의 링크에 기본 이미지가 있으니 참고한다.




크리에이티브 커먼즈 라이센스
Creative Commons License
2010/12/17 14:06 2010/12/17 14:06

Trackback URL : http://simplelife.pe.kr/tc/trackback/690

  1. # 우중산보 2010/12/27 10:24 Delete Reply

    뭔 소리야 이게.
    A급 은하계는 몰겠고 S급 은하계는 참 좋긴 하다 : )
    SKT가 위에 씌워놓은 것들 제거하고 커스터마이징 하니 마음에 든다 ㅎ

    1. Re: # 서툰걸음 2011/01/10 13:26 Delete

      갤럭시는 역시 갤럭시도 보내야 함... ㅡ,.ㅡ




http://developer.android.com/resources/articles/drawable-mutations.html


해답은 가까운데 있었다.
상세한것은 위의 링크를 참고한다.

사용자 삽입 이미지



증상은 이런거다
커버플로어를 구현하면서 업체 요청사항이
select 된 아이템 이외의 것은 반투명하게 보여 달라는거였다.

그래서 setAlpha 값을 조정해서
옆에 있는것처럼 구현했다.

잘 된다 싶었는데
문제가 생겼다.


이런 문제다.
사용자 삽입 이미지
같은 리소스이지만 별도의 이미지객체로 만들어진 녀석들에까지
반투명하게 변해버린것이다.

처음에는
화면이동할때 notifyDataSetChanged 를 호출해서 getview에서 새로 이미지를 세팅하게 했는데
너무 무식하잖아.

다른거 검색하다가 저 위의 링크를 읽다가 같은 사항이라는 것을 깨닫을것이다.
해답은 늘 가까운곳에 있다더니.. ^^

BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
drawable.mutate().setAlpha((int)(255*mUnselectedAlpha));



위에 처럼 mutate 를 추가로 넣어주면 된다.
코드가 아주 깔끔해졌다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2010/11/11 23:32 2010/11/11 23:32

Trackback URL : http://simplelife.pe.kr/tc/trackback/686



원글은 아래 링크 참조.
http://developer.android.com/resources/articles/listview-backgrounds.html


증상은
사용자 삽입 이미지사용자 삽입 이미지
기본은 왼쪽과 같은 리스트뷰인데
스크롤을 시키려고 터치를 하고 쓰윽 내려버리면 오른쪽과 같이 검은색 바탕으로 바뀌어 버린다.


간단한 해결 방안은 android:cacheColorHint 값을 #00000000 으로 세팅해준다.


<ListView
    android:id="@+id/lv_MenuList"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:cacheColorHint="#00000000"
    android:layout_gravity="center"/>

기타 자세한 사항은 위의 링크를 참조한다.


 
크리에이티브 커먼즈 라이센스
Creative Commons License
2010/11/02 22:57 2010/11/02 22:57

Trackback URL : http://simplelife.pe.kr/tc/trackback/684


한글에 Bold 적용하기.

Posted 2010/11/02 21:36, Filed under: 나의 길/Android
일반적으로 TextView에서 Bold를 하는 방법은 아래와 같이 간단하다.

<TextView
android:id="@+id/txt_CellText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textColorHighlight="#FFFFFF"
android:textStyle="bold"
android:textColor="#FFFFFF"/>


그런데 한글에는 Bold가 적용되지 않는다.
폰트 때문인듯도 싶은데  방법을 짜내어보자.

TextView txtCellText = (TextView)v.findViewById(R.id.txt_CellText);
txtCellText.setText(strServiceName);
txtCellText.setPaintFlags(txtCellText.getPaintFlags()|Paint.FAKE_BOLD_TEXT_FLAG);


setPaintFlags 을 통해서 위에처럼 설정해주면 된다.


덧붙임.
하나더 있다.
폰트를 monospace로 설정해준다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2010/11/02 21:36 2010/11/02 21:36

Trackback URL : http://simplelife.pe.kr/tc/trackback/683


AlertDialog.Builder - leaked window

Posted 2010/10/12 12:50, Filed under: 나의 길/Android
E/WindowManager( 3727): android.view.WindowLeaked: Activity com.sample.android.tester.Tester has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@46504a58 that was originally added here
E/WindowManager( 3727):  at android.view.ViewRoot.<init>(ViewRoot.java:251)
E/WindowManager( 3727):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
E/WindowManager( 3727):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
E/WindowManager( 3727):  at android.view.Window$LocalWindowManager.addView(Window.java:424)
E/WindowManager( 3727):  at android.app.Dialog.show(Dialog.java:241)
E/WindowManager( 3727):  at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
E/WindowManager( 3727):  at com.sample.android.tester.Tester.onCreate(Tester.java:633)
E/WindowManager( 3727):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
E/WindowManager( 3727):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
E/WindowManager( 3727):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
E/WindowManager( 3727):  at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4066)
E/WindowManager( 3727):  at android.app.ActivityThread.access$2400(ActivityThread.java:135)
E/WindowManager( 3727):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2140)
E/WindowManager( 3727):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/WindowManager( 3727):  at android.os.Looper.loop(Looper.java:144)
E/WindowManager( 3727):  at android.app.ActivityThread.main(ActivityThread.java:4937)
E/WindowManager( 3727):  at java.lang.reflect.Method.invokeNative(Native Method)
E/WindowManager( 3727):  at java.lang.reflect.Method.invoke(Method.java:521)
E/WindowManager( 3727):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/WindowManager( 3727):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/WindowManager( 3727):  at dalvik.system.NativeStart.main(Native Method)

어플 구동시에 고객동의를 얻기 위해서
AlertDialog.Builder 로 show 해준후
확인버튼을 누르면 다음 루틴을 수행하도록 해 놓았다.

그런데..
슬립에 들어갔다가 다시 수행할때 어플이 onCreate를 다시 수행하는데
위와 같은 오류가 난다.

오류나는 위치는 show 하는 부분이다.

구글에서 검색을 하니 dismiss() 시키란다.
확인창을 누르면 dismiss 되는거 아닌가.
혹시나 싶어서 확인버튼을 누를때 dismiss 시켜보았다.
동일하다.

결론은 onPause 됐을때 dismiss()를 시켰다.
디자이어폰에서는 지금 잘 되는데 다른 폰에도 테스트해봐야겠다.

참고로.
show 할때 AlertDialog 로 리턴값을 받아서 onPause 에서 해당 변수로 dismiss() 시켰다.
혹시나 나중에 보면 모를까봐.. ^^








크리에이티브 커먼즈 라이센스
Creative Commons License
2010/10/12 12:50 2010/10/12 12:50

Trackback URL : http://simplelife.pe.kr/tc/trackback/682



뚜는 지금.. 사랑해사랑해
아.. 열심히 살자..
남자B형염소자리인천

Categories

전체 (504)
뚜.. 서툰.. (258)
폰 이야기 (13)
나의 길 (85)
읽을거리 (21)
사진갤러리 (124)

Recent Posts

  1. Android Studio 2.2 에서 layout 미리...
  2. mac 에서 ssh 접속시 한글 입력이 안될때.
  3. Android Studio. Zxing 라이브러리 사...
  4. 안드로이드 프로젝트를 SVN 등록시 bin...
  5. 안드로이드에서 android.annotation 를...

Recent Comments

  1. Thanhk you for this informative read... Software Engineering 2018
  2. 오전부터 이것때문에 하루 종일 고생함... choi 2016
  3. 진짜 님이 하루 죙일 겜방에 갇혀서 있... 굳굳 2015
  4. 대박 이걸 어떻게 찾으셨어요? 덕분에 ... 34524 2015
  5. 와 이건 진짜 신의한수 였네요~ 감사합... interlude 2015

Recent Trackbacks

Bookmarks

  1. ATOMOS
  2. c3cc3's Homepage
  3. 봄실
  4. 우중산보... 그 싱그러운 여유

1119

722

google chart api graph

-30 days

today : 75

Site Stats

TOTAL 731659 HIT
TODAY 75 HIT
YESTERDAY 1081 HIT