xml에 흰색 배경이 정의 된 drawable 타원이 있습니다. 이 원을 내 gridAdapter 내 textView
의 배경 리소스로 설정하고 있습니다.textview 배경에 사용되는 도형의 색을 변경하려고합니다.
드로어 블 서클의 색상을 코드별로 변경하고 싶습니다. 운이별로 없습니다. 나는 .setColor
, .setColorFilter
및 기타 다양한 해킹을 사용했지만 아무도 작동하지 않았습니다. 동그라미가 textView
의 배경에로드되고 흰색으로 변경되면 결코 바뀌지 않는 것 같습니다.
여기에 내가 드로어 블을로드하고 색상을 수정 한 다음 textView
에 배경 리소스로 추가하려고 :
int color = Color.parseColor(locationModel.col_line_color); // Color of the line
GradientDrawable bgcircle = (GradientDrawable) gridContext.getResources().getDrawable(R.drawable.circle);
bgcircle.mutate();
// bgcircle.setColor(color);
bgcircle.setColorFilter(color, Mode.SRC_ATOP);
viewHolder.textView.setText((locationModel.col_line).toString());
viewHolder.textView.setBackgroundResource(R.drawable.circle);
드로어 블 형태의 XML :
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@android:color/white"/>
<size
android:width="120dp"
android:height="120dp"/>
</shape>
자습서의 많은 을 호출 .setColorFilter()
을 구현하지만, 나는별로 행운이 없었어요. PorterDuff 모드를 몇 가지 대안으로 변경해 보았지만 서클은 흰색 렌더링을 계속합니다.
도움이되거나 도움이 될만한 정보가 있습니다.
런타임에는 xml 리소스를 수정하려고하는데 – Raghunandan
그럼 코드에서 드로어 블을 생성해야합니다. – markbratanov
드로어 블을 코드에서 배경으로 설정할 수 있습니다. 하지만 수정할 수 없습니다 – Raghunandan