android TextView : 배경색을 동적으로 설정하면 작동하지 않습니다.
안드로이드에서 프로그래밍 방식으로 배경색을 TextView
설정해도 작동하지 않는 것 같습니다. 나는 무언가를 놓치고있다!
TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);
내 res / values 폴더 에이 파일 (colors.xml)도 있습니다.
<resources>
<color name="white">#ffffffff</color>
<color name="black">#ff000000</color>
</resources>
[편집] : 또한 텍스트 색상을 설정하면 TextView가 사라집니다.
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)
(이것은 빨간색 일 것입니다). 이 색상은 붉은 색이지만 it = 0x00FF0000;
100 % 불투명 한 값은 0xFFFF0000
또는 이므로 투명합니다 mytext.setTextcolor(0xFFFF0000)
.
이 한 줄의 코드 만 프로그래밍 방식으로 배경을 변경했습니다.
tv.setBackgroundColor(Color.parseColor("#808080"));
웹 서비스가 "# CC2233"과 같은 16 진수 형식의 색상을 반환 할 때 상황이 있었고 setBackGroundColor ()를 사용하여 textView 에이 색상을 넣고 싶었으므로 android Color 클래스를 사용하여 16 진수 문자열의 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>
이제 자바 파일에서 "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. colors.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));
쥬트 사용
ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, your array list);
android:textColor= "
텍스트보기가 선언 된 xml 파일에서 원하는 텍스트 색상을 사용할 수 있습니다 . "
'IT' 카테고리의 다른 글
“java.net.BindException : 이미 사용중인 주소 : JVM_Bind”오류를 어떻게 해결합니까? (0) | 2020.06.03 |
---|---|
Java에서 선행 0을 유지하면서 바이트 배열을 16 진수 문자열로 변환하는 방법은 무엇입니까? (0) | 2020.06.03 |
올바른 방법보다 인터페이스에 더 많은 것이 있습니까? (0) | 2020.06.03 |
루비에서 파일을 만드는 방법 (0) | 2020.06.03 |
iOS 7에서 UIButton 이미지를 설정하면 파란색 버튼이 나타납니다. (0) | 2020.06.03 |