Android TextView : 동적으로 배경색 설정이 작동하지 않습니다.
문제
안드로이드의 배경색을 프로그래밍 방식으로 설정합니다 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는 다른 솔루션이 나에게 효과가 없기 때문에이 답변을 게시했습니다. 나는 이것이 누군가를 도울 수 있기를 바랍니다 :)
다음은 올바르게 수행하는 단계입니다.
우선, MainActivity.java에서 다음과 같이 TextView 인스턴스를 선언하십시오.
TextView mTextView;
다음과 같이 일부 텍스트를 동적으로 설정하십시오 (원하는 경우).
mTextView.setText("some_text");
이제 배경색을 설정하려면 res-> values-> colors.xml 파일에서 자신의 색상을 다음과 같이 정의해야합니다.
<resources> <color name="my_color">#000000</color> </resources>
이제 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 파일에서 제공하려는 텍스트 색상이 무엇이든.