code

TextView의 텍스트 색상을 얻는 방법은 무엇입니까?

codestyles 2021. 1. 5. 08:07
반응형

TextView의 텍스트 색상을 얻는 방법은 무엇입니까?


주어진 코드에서 lbl [0] .getTextColor ()는 오류를 제공하지만 Java 파일에서 textview의 텍스트 색상을 얻는 방법을 모르겠습니다.

public void angry(View v)
{
    if (lbl[0].getTextColor() == Color.BLACK)
        lbl[0].setTextColor(Color.RED);
    if (lbl[0].getTextColor() == Color.RED)
        lbl[0].setTextColor(Color.BLACK);
}   

감사.


이것을 사용하십시오

textView.getCurrentTextColor()


기억해야 할 중요한 사항이 있습니다. getCurrentTextColor () 및 getCurrentHintTextColor () 및 getHighlightColor ()와 같은 유사한 메서드는 주로 색상을 정의하는 데 사용되는 16 진수가 아닌 int 값을 반환합니다. 예를 들어 빨간색의 경우 -65536, 녹색의 경우 -16711936, 흰색의 경우 -1과 같이 음수이므로 더 혼란 스러울 수 있습니다.

간단하게 말하면 getCurrentTextColor ()는 현재 색상과 흰색 값 (모두 십진수)에서 1을 뺀 차이를 반환하기 때문입니다. 표현식은 CurrentColor- (WhiteColor + 1)입니다. 여기서 흰색은 16777215입니다. 물론 표준 색상의 경우 Color.GREEN 또는 Color.MAGENTA와 같은 미리 정의 된 상수를 사용할 수 있지만 모든 색상에 대해 효과적으로 getCurrentTextColor ()를 사용할 수 있음을 알고 있습니다.

http://android4beginners.com/2013/07/lesson-1-3-how-to-change-a-color-of-text-and-background-in 에서 Android에서 색상 설정 및 가져 오기에 대한 자세한 내용을 읽을 수 있습니다. -textview /


TextView에서 색상 코드를 가져올 수 있습니다.

int color=tv.getCurrentTextColor();
String hexColor = String.format("#%06X", (0xFFFFFF & color));

contextcompat 라이브러리를 사용하여 Android의 새 버전에 대한 색상을 설정하는 경우 위에있는 값과보기에 다른 값을 얻을 수 있습니다. 이 테스트는 테스트 색상을 설정하기 위해 다음을 사용하는 곳에서 저에게 효과적이었습니다.

view.setTextColor (ContextCompat.getColor (ctx, color));

    textColor =view.getCurrentTextColor();
    CoreApp.debug("viewutils", "green color: "+textColor);
    assertThat(textColor, is(ContextCompat.getColor(mCtx, R.color.green)));

참조 URL : https://stackoverflow.com/questions/6746056/how-to-get-text-color-of-textview

반응형