drawable 에서 setAlpha가 모두에게 영향을 미칠때..
Posted 2010/11/11 23:32, Filed under: 나의 길/Androidhttp://developer.android.com/resources/articles/drawable-mutations.html
해답은 가까운데 있었다.
상세한것은 위의 링크를 참고한다.
증상은 이런거다
커버플로어를 구현하면서 업체 요청사항이
select 된 아이템 이외의 것은 반투명하게 보여 달라는거였다.
그래서 setAlpha 값을 조정해서
옆에 있는것처럼 구현했다.
잘 된다 싶었는데
문제가 생겼다.
이런 문제다.
같은 리소스이지만 별도의 이미지객체로 만들어진 녀석들에까지
반투명하게 변해버린것이다.
처음에는
화면이동할때 notifyDataSetChanged 를 호출해서 getview에서 새로 이미지를 세팅하게 했는데
너무 무식하잖아.
다른거 검색하다가 저 위의 링크를 읽다가 같은 사항이라는 것을 깨닫을것이다.
해답은 늘 가까운곳에 있다더니.. ^^
BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable(); drawable.mutate().setAlpha((int)(255*mUnselectedAlpha));
위에 처럼 mutate 를 추가로 넣어주면 된다.
코드가 아주 깔끔해졌다.
Tag : android
Response :
0 Trackback
,
0 Comment
Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다