마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

겹쳐져 있는 TextView 두개의 alpha값을 조정해서 정확히 불투명도 100%로 만들 수 있나요?

0 추천
완전히 같은 위치에 텍스트뷰 A, B를 배치시키고,

 

A에는 setAlpha()에 0.2값을 주고

 

B에는 0.8을 줘도

 

setAlpha(1.0)을 준거와 같은 결과가 나오질 않더군요.

 

이걸 계산하는 방법이 있을 거 같은데 구글에서 열심히 뒤져봐도 나오질 않아서 질문 올립니다..

 

ps. 구조상 불투명도가 100%를 넘어가면 안됩니다.
zent (1,360 포인트) 님이 2016년 9월 28일 질문
두 글자의 관계가 + 로 더해지는게 아닌 터인데요 0.7 에 0.3 을 올려봤자 0.7~0.8 내외죠
불가능한 질문인것 같습니다.
기본적인 상식으로도 불가능한 질문이라는....
댓글들 감사드립니다.

정말로 불가능한 일인가요? 교과목 분야로 따지면 컴퓨터 그래픽스 쪽인거 같은데 제가 그쪽에 대한 지식은 얼마 없어서 잘 모르겠군요. 계산이 불가능하다면 다른 방법을 찾아봐야겠죠. (정말 몰라서 질문드리는 건데 프로그램 분야에 종사하는 사람들에겐 이런게 '상식적으로' 너무 뻔한 불가능한 얘기인가요? 저도 길다고는 못하지만 6년 정도 이쪽 분야에서 일을 하고 있는데 이런 문제에 대해선 접해보질 못했거든요..)

좀더 구체적인 용도를 말씀드리자면 애니메이션을 이용해 텍스트뷰 A B를 일부만 겹쳐놓아서 겹쳐진 부분만 알파값이 1.0으로 일정하게 유지되고 나머지 부분들이 깜박거리는 효과를 주고 싶습니다. 굳이 이렇게 만드는 이유는 구조상 A B 양 옆에 따로 텍스트뷰를 추가적으로 넣지 못하기 때문입니다.
원하시는 기능은 TextView 가 아니라 직접 그런 뷰를 만드셔야하는 영역으로 보입니다.

50% 반투명한 셀로판지 2장을 모니터 위에 올려놓는다고해서 '100% 화면이 보이지 않아야 된다' 라고 이야기 하시는 것과 유사하다라고 생각하시면 되겠네요
답글 감사드립니다.

사실 저도 저렇게 실험해보면서 안될꺼라는 예상은 당연히 했습니다 ^^; 핵심은 그게 아니라.. 그 부분을 해결해 줄 수 있을만한 계산식이 있을까 하는 부분이죠.

말씀하신 대로 아예 View를 extend 하던가 해서 새로운 텍스트뷰를 만드는 쪽으로 고민을 한번 해봐야겠네요.

1개의 답변

0 추천
그냥 ARGB 로 하시면 안되나요?

setTextColor(Color.argb(alpha, red, green, blue))

이렇게요.
Development Guy (70,570 포인트) 님이 2016년 9월 29일 답변
제가 알고 싶은건 '두 값의 합(혹은 다른 연산?) = 알파값 1.0'을 만족시킬 수 있는 식이라서..

그 값에 argb를 이용해 넣던 setAlpha를 이용해 넣던 상관이 없습니다.
...