programing

코드에서 TextView의 텍스트 색상을 설정하는 방법은 무엇입니까?

abcjava 2023. 6. 15. 21:32
반응형

코드에서 TextView의 텍스트 색상을 설정하는 방법은 무엇입니까?

XML에서, 우리는 텍스트 색을 다음과 같이 설정할 수 있습니다.textColor를 들어 속, 를android:textColor="#FF0000"하지만 코딩으로 어떻게 바꾸나요?

저는 다음과 같은 것을 시도했습니다.

holder.text.setTextColor(R.color.Red);

에▁where디holder이고 수일뿐이고업뿐▁is.text이 형의입니다.TextView빨간색은 문자열로 설정된 RGB 값(#FF0000)입니다.

하지만 그것은 빨간색이 아니라 다른 색을 보여줍니다.setTextColor()는 할 수 ?문서에는 다음과 같이 나와 있습니다.int리소스 참조 값인가요, 아니면 다른 것인가요?

다음을 사용해야 합니다.

holder.text.setTextColor(Color.RED);

의다한기사수능있다습니용할을양▁▁from의 다양한 할 수 .Color같은 효과를 얻기 위한 수업.

  • Color.parseColor (수동)(LEX 사용과 동일)

    text.setTextColor(Color.parseColor("#FFFFFF"));
    
  • Color.rgb그리고.Color.argb(수동 RGB)(수동 Argb)(Ganapathy가 사용하는 것과 동일)

    holder.text.setTextColor(Color.rgb(200,0,0));
    holder.text.setTextColor(Color.argb(0,200,0,0));
    
  • 그리고 물론, 만약 당신이 당신의 색을 정의하고 싶다면.XML파일, 다음을 수행할 수 있습니다.

    <color name="errorColor">#f00</color>
    

    getColor()기능이 더 이상1 사용되지 않습니다. 다음과 같이 사용해야 합니다.

    ContextCompat.getColor(context, R.color.your_color);
    
  • 다음과 같이 일반 HEX를 삽입할 수도 있습니다.

    myTextView.setTextColor(0xAARRGGBB);
    

    먼저 알파 채널이 있는 곳에서 색상 값을 선택합니다.

물론 전체 매뉴얼을 확인해 보십시오. 공개 클래스 색상은 개체를 확장 개체를 확장합니다.


1이 코드는 이전에도 여기에 있었습니다.

textView.setTextColor(getResources().getColor(R.color.errorColor));

이 방법은 현재 Android M에서 더 이상 사용되지 않습니다.그러나 지원 라이브러리의 contextCompat에서 이를 사용할 수 있습니다(예 참조).

XML 파일에서 색상을 지정하려면 다음을 수행합니다.

<color name="errorColor">#f00</color>

그런 다음 다음 두 가지 방법 중 하나를 사용하여 코드에서 이를 참조합니다.

textView.setTextColor(getResources().getColor(R.color.errorColor, getResources().newTheme()));    

또는

textView.setTextColor(getResources().getColor(R.color.errorColor, null));

Android M에 대해 컴파일하는 경우 첫 번째가 더 선호될 수 있지만, 전달하는 테마는 null일 수 있으므로 그것이 더 쉬울 수 있습니까?

또한 호환 라이브러리를 사용하는 경우 다음과 같은 작업을 수행할 수 있습니다.

textView.setTextColor(ContextCompat.getColor(context, R.color.errorColor));

그리고 또 하나:

TextView text = (TextView) findViewById(R.id.text);
text.setTextColor(Color.parseColor("#FFFFFF"));

XML 파일에서만 이 작업을 수행할 수 있습니다.

성을 합니다.color.xml폴더의 :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="textbody">#ffcc33</color>

</resources>

그런 다음 XML 파일에서 다음을 사용하여 텍스트의 색을 설정할 수 있습니다.

android:textColor="@color/textbody"

또는 Java 파일에서 이 색상을 사용할 수 있습니다.

final TextView tvchange12 = (TextView) findViewById(R.id.textView2);
//Set color for textbody from color.xml file
tvchange1.setTextColor(getResources().getColor(R.color.textbody));

사용할 수 있습니다.

holder.text.setTextColor(Color.rgb(200,0,0));

투명도를 사용하여 원하는 색상을 지정할 수도 있습니다.

holder.text.setTextColor(Color.argb(0,200,0,0));

a - 알파(투명) 값 r-red g-green b-blue

layout.xml에서 다음 코드를 사용합니다.

<TextView  android:id="@+id/textView1"    
android:layout_width="wrap_content"    
android:layout_height="wrap_content" 
android:text="@string/add"
android:layout_marginTop="16dp"
android:textAppearance="?
android:attr/textAppearanceMedium"
android:textColor="#25383C"
android:textSize="13sp" />

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add"
        android:layout_marginTop="16dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#25383C"
        android:textSize="13sp" />

텍스트 보기에 색상을 설정하는 방법은 여러 가지가 있습니다.

  1. 스튜디오 res->values->colors.xml에 색상 값을 다음과 같이 추가합니다.

    <color name="color_purple">#800080</color>
    

    이제 xml 또는 속성 클래스의 색상을 다음과 같이 설정합니다.

    text.setTextColor(getResources().getColor(R.color.color_purple)
    
  2. 색상 코드를 직접 지정하려면 Color.parseColor 코드 아래를 사용합니다.

    textView.setTextColor(Color.parseColor("#ffffff"));   
    
  3. RGB도 사용할 수 있습니다.

    text.setTextColor(Color.rgb(200,0,0));
    
  4. 사용자는 textView에 대해 직접 16진수 코드를 사용할 수도 있습니다.다음과 같이 일반 HEX를 삽입할 수도 있습니다.

    text.setTextColor(0xAARRGGBB);
    
  5. argb를 알파 값과 함께 사용할 수도 있습니다.

       text.setTextColor(Color.argb(0,200,0,0));
    

    a는 알파(투명) v입니다.

  6. 또한 호환 라이브러리를 사용하는 경우 다음과 같은 작업을 수행할 수 있습니다.

       text.setTextColor(ContextCompat.getColor(context, R.color.color_purple));
    
textView.setTextColor(ContextCompat.getColor(getApplicationC‌​ontext(),R.color.col‌​orWhite)); 

colors.xml아래합니다: " 일코드, 래에기록아파:기록:

<color name="colorWhite">#FFFFFF</color>

일반적으로 모든 보기에 대해 이 작업을 수행합니다.

myTextView.setTextColor(0xAARRGGBB);

어디에

  • AA는 알파(투명의 경우 00, 불투명의 경우 FF)를 정의합니다.

  • RRGGBB는 일반 HTML 색상 코드를 정의합니다(빨간색의 경우 FF0000과 같이).

setTextApearance를 사용하려는 경우 테마에서 상속된 스타일로 텍스트 색상을 덮어씁니다.그래서 둘 다 사용하고 싶다면 나중에 색을 설정하세요.

효과:

textView.setTextAppearance(context, android.R.style.TextAppearance_Medium);
textView.setTextColor(Color.RED);

텍스트 색상은 예를 들어 흰색(어두운 테마의 경우) 또는 검은색(밝은 테마의 경우)이 됩니다.

textView.setTextColor(Color.RED);
textView.setTextAppearance(context, android.R.style.TextAppearance_Medium);

XML에서는 이와 반대로 순서가 임의입니다.

text.setTextColor(getResource().getColor(R.color.black))colorcolor.xml에 했습니다.

OR

text.setTextColor(Color.parseColor("#000000"))여기에 원하는 16진수 코드를 입력합니다.

OR

text.setTextColor(Color.BLACK) 필드를 할 수 .

(XML 파일에서) 색상을 리소스로 지정하려면 ARGB 값(단순 RGB 값이 아님)을 제공해야 합니다.

색상 값을 다음으로 변경해 보십시오.#FFFF0000빨간색이 나올 거예요.

사용:

TextView tv = new TextView(this);
tv.setTextColor(Color.rgb(285,0,0));
holder.text.setTextColor(Color.rgb(200,0,0));

또는

myTextView.setTextColor(0xAARRGGBB);

코틀린 확장 솔루션

텍스트 색상을 쉽게 변경하려면 이 항목을 추가합니다.

색상 설정용인트

myView.textColor = Color.BLACK // or Color.parseColor("#000000"), etc.

var TextView.textColor: Int
get() = currentTextColor
set(@ColorInt color) {
    setTextColor(color)
}

ColorRes 설정용

myView.setTextColorRes(R.color.my_color)

fun TextView.setTextColorRes(@ColorRes colorRes: Int) {
    val color = ContextCompat.getColor(context, colorRes)
    setTextColor(color)
}

코틀린을 사용하면 4가지 방법이 있습니다: (홀더 사용)

  1. Android 리소스 사용:

    holder.textView.setTextColor(색상).녹색)

  2. RGB 사용:

    holder.textView.setTextColor(Color.rgb(255,87,34))

16진수 사용:

holder.textView.setTextColor(Color.parseColor("#C2185B"))

프로젝트 리소스 사용: (API 레벨 23 필요)

holder.textView.setTextColor(context.resources.getColor(R.color.colorMax,null))

어댑터를 사용하여 다음 코드를 사용하여 텍스트 색상을 설정할 수 있습니다.

holder.text_view = (TextView) convertView.findViewById(R.id.text_view);
holder.text_view.setTextColor(Color.parseColor("#FF00FF"));
TextView text = new TextView(context);
text.setTextColor(Color.parseColor("any hex value of a color"));

위의 코드는 제 쪽에서 작동하고 있습니다.여기서text색상을 설정해야 하는 텍스트 보기입니다.

text1.setTextColor(Color.parseColor("#000000"));

23부터,getResources().getColor()사용되지 않습니다.

대신 사용:

textView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.color_black));
   textViewStatus.setTextColor(res.getColor(R.color.green));

어댑터에서 다음 코드를 사용하여 텍스트 색상을 설정할 수 있습니다.

holder.my_text_view = (TextView) convertView.findViewById(R.id.my_text_view);
holder.my_text_view.setTextColor(Color.parseColor("#FFFFFF"));

색상 코드를 직접 지정하려면 다음을 사용합니다.

textView.setTextColor(Color.parseColor("#ffffff"));

또는 색상 폴더에서 색상 코드를 지정하려면 다음을 사용합니다.

textView.setTextColor(R.color.white);

다음과 같은 방법으로 했습니다. Colors in res/values 폴더라는 XML 파일을 만듭니다.

My Colors.xml:

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="vermelho_debito">#cc0000</color>
    <color name="azul_credito">#4c4cff</color>
    <color name="preto_bloqueado">#000000</color>
    <color name="verde_claro_fundo_lista">#CFDBC5</color>
    <color name="branco">#ffffff</color>
    <color name="amarelo_corrige">#cccc00</color>
    <color name="verde_confirma">#66b266</color>
</resources>

xml 파일에서 이 색상을 가져오기 위해 이 코드를 사용했습니다. valor는 TextView이고 ctx는 Context 객체입니다.활동에서 사용하는 것이 아니라 목록 보기에 대한 기본 어댑터를 사용합니다.그래서 이 컨텍스트 개체를 사용했습니다.

valor.setTextColor(ctx.getResources().getColor(R.color.azul_credito));

도움이 되길 바랍니다.

텍스트 보기의 색상을 설정하려면,TextView.setTextColor(R.color.YOURCOLOR)충분하지 않습니다!

이렇게 사용해야 합니다.

TextView myText = (TextView) findViewById(R.id.YoutTextViewID);

myText.setTextColor(getResources().getColor(R.color.YOURCOLOR);

OR

myText.setTextColor(Color.parseColor("#54D66A"));
holder.userType.setTextColor(context.getResources().getColor(
                    R.color.green));

사용해 보십시오.

textView.setTextColor(getResources().getColor(R.color.errorColor, null));

사용해 보십시오.

TextView textview = (TextView) findViewById(R.id.textview );
textview .setTextColor(Color.parseColor("#85F85F"));

마찬가지로, 나는 사용하고 있었습니다.color.xml:

<color name="white">#ffffff</color>
    <color name="black">#000000</color>   

설정을 위한TextView다음과 같은 배경:

textView.setTextColor(R.color.white);

저는 다른 색상을 받고 있었는데 아래 코드를 사용했을 때 실제 색상을 받았습니다.

textView.setTextColor(Color.parseColor("#ff6363"));

RGB 값을 제공하는 경우:text.setTextColor(Color.rgb(200,0,0));
16진수 값에서 색상을 구문 분석하는 경우:text.setTextColor(Color.parseColor("#FFFFFF"));

언급URL : https://stackoverflow.com/questions/4602902/how-to-set-the-text-color-of-textview-in-code

반응형