Android TextView : 동적으로 배경색 설정이 작동하지 않습니다.

StackOverflow https://stackoverflow.com/questions/1466788

  •  13-09-2019
  •  | 
  •  

문제

안드로이드의 배경색을 프로그래밍 방식으로 설정합니다 TextView 작동하지 않는 것 같습니다. 나는 뭔가 빠졌다!

TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);

또한이 파일 (Colors.xml)도 내 res/value 폴더에 있습니다.

<resources>
        <color name="white">#ffffffff</color>
        <color name="black">#ff000000</color>
</resources>

편집] : 또한 텍스트 색상을 설정하면 텍스트 뷰가 사라집니다.

TextView c1 = new TextView(activity);
c1.setTextColor(R.color.solid_red);
c1.setText("My Text");
도움이 되었습니까?

해결책

사용 et.setBackgroundResource(R.color.white);

다른 팁

이 시도:

TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");

나는 색상과 자원이 동일한 유형을 가지고 있다는 데 동의하지만이 솔루션을 찾는 데 몇 시간을 소비합니다.

붉은 색을 설정하려면 :

textView.setBackgroundColor(0xfff00000);

또는

<color name="solid_red">#fff00000</color>

textView.setBackgroundResource(R.color.solid_red);

나는 주요 알파 채널을 고려하지 않고 숫자 색상을 만드는 비슷한 문제가있었습니다. 즉. mytext.setTextColor(0xFF0000) (이것은 빨간색이라고 생각합니다). 이것은 빨간색이지만 100% 투명합니다. it = 0x00FF0000; 올바른 100% 불투명 값은입니다 0xFFFF0000 또는 mytext.setTextcolor(0xFFFF0000).

이 1 줄의 코드만이 프로그래밍 방식으로 배경을 변경했습니다.

tv.setBackgroundColor(Color.parseColor("#808080"));

Web Service가 "#cc2233"과 같은 16 진 형식으로 색상을 반환했을 때 상황이 있었는데 Stepback groundcolor ()를 사용하여 TextView 에이 색상을 넣고 싶었으므로 Android Color 클래스를 사용하여 HEX 문자열의 int 값을 가져 와서 전달했습니다. 언급 된 기능. 모든 것이 효과가있었습니다. 이것은 예입니다 :

String myHexColor = "#CC2233";
TextView myView = (TextView) findViewById(R.id.myTextView);
myView.setBackGroundColor(Color.pasrsehexString(myHexColor));

PS는 다른 솔루션이 나에게 효과가 없기 때문에이 답변을 게시했습니다. 나는 이것이 누군가를 도울 수 있기를 바랍니다 :)

다음은 올바르게 수행하는 단계입니다.

  1. 우선, MainActivity.java에서 다음과 같이 TextView 인스턴스를 선언하십시오.

    TextView mTextView;
    
  2. 다음과 같이 일부 텍스트를 동적으로 설정하십시오 (원하는 경우).

    mTextView.setText("some_text");
    
  3. 이제 배경색을 설정하려면 res-> values-> colors.xml 파일에서 자신의 색상을 다음과 같이 정의해야합니다.

    <resources>
        <color name="my_color">#000000</color>
    </resources>
    
  4. 이제 Java 파일에서 "my_color"색상을 사용하여 다음과 같이 배경을 동적으로 설정할 수 있습니다.

    mTextView.setBackgroundResource(R.color.my_color);
    
tv.setTextColor(getResources().getColor(R.color.solid_red));

여기에 거의 세부 사항이 있습니다.

당신이 활동중인 경우 이것을 사용하십시오

textview.setBackground(ContextCompat.getColor(this,R.color.yourcolor));

당신이 조각에있는 경우 아래 코드를 사용하십시오

textview.setBackground(ContextCompat.getColor(getActivity(),R.color.yourcolor));

RECYCLERVIEW 어댑터에있는 경우 아래 코드 아래 사용하십시오

textview.setBackground(ContextCompat.getColor(context,R.color.yourcolor));

// use holder.textview if you are in onBindviewholder
//here context is passed from fragment

Color.parseHexColor("17ee27") 대신 나를 위해 일하지 않았습니다 Color.parseColor("17ee27") 완벽하게 일했습니다.

그렇게하는 두 가지 방법 :

1. 색상으로 색상을 생성합니다. xml 파일 : :

<resources>
        <color name="white">#ffffff</color>
</resources>

int activity java 클래스를 사용하십시오.

et.setBackgroundResource(R.color.white);

2.

et.setBackgroundColor(getResources().getColor(R.color.white));
                or
et.setBackgroundColor(Color.parseColor("#ffffff"));

모든 버전을 지원하려면 다음을 수행하십시오.

mytextView.setBackgroundColor (ContextCompat.getColor (this, r.color.mycolor));

Jut 사용

ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this,
            android.R.layout.simple_dropdown_item_1line, your array list);

당신이 사용할 수있는 android:textColor= " 텍스트보기가 선언 된 XML 파일에서 제공하려는 텍스트 색상이 무엇이든.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top