2012-06-24 4 views
0

내가 0xFF222222를 가지고 있으며 5 분에 걸쳐 0xFF888888에 도달하기를 원합니다. Java (android)를 사용하면 가장 간단한 방법으로 변경할 수 있습니까?런타임시 16 진수 문자열 변경

RGB는 의미에 걸쳐 동일하게 유지해야 0xFF222222 -> 0xFF232323 -> 0xFF242424 ...

+0

아니면 그냥 고마워 할 수 있습니다. 지금까지는 이전 버전과 달리 HEX 값을 변경할 필요가 없었습니다. 시간이 경과함에 따라 호출하고 추적하는 방법을 알고 있습니다. 런타임시 16 진수 자체를 편집하는 방법을 알지 못했습니다. – WIllJBD

답변

1

당신이 0xFF888888

기회에 도달 당신이 실제로하지 때까지 각 실행에 0x10101를 추가하는 타이머 작업을 사용하여 문자열을 원하지만 int와 같은 숫자 값이 필요합니다. 문자열을 원한다면 int로 작업을 수행하고 필요할 때 Integer.toHexString()을 사용하여 결과를 쉽게 변환 할 수 있습니다.

+0

당신은 맞습니다, 나는 int를 원한다고 생각합니다, 그래서 저는'int i = 0xFF888888; int a = 0x101010; i = i + a;'? – WIllJBD

+0

예, 대부분의 안드로이드 색상 메서드는 int를 원합니다. 이 숫자가 모두 음수라는 사실을 기억하고 싶을 수도 있습니다. 두 숫자 사이의 비교는 여전히 유효하므로 긍정적 인 가정을하지 않는 한 영향을 미치지 않아야합니다. –

+1

해당 형식으로 변환하려면 Integer.toHexString()보다는 String.printf ("0x % 08X", value)를 사용하는 것이 더 쉽습니다 (선행 제로 8 자리 유효하지 않음). –