Android 사용자 정의 view 가 attr 에서 사용자 정의 색상 을 가 져 오 는 문 제 를 해결 합 니 다.

오 랜 만 이에 요.요즘 좀 바 빠 서 오 랜 만 에 글 을 올 렸 어 요.그저께 어떤 초등학교 동생 이 프로젝트 를 쓰 는 과정 에서 이 문 제 를 만 나 글 을 썼어 요.
프로젝트 필드:
Android 사용자 정의 View 레이아웃 에 색상 설정
문제 설명:다음은 후배 의 코드 입 니 다.

//attrs  
 <attr name="leftcolor" format="color"/>
 <attr name="rightcolor" format="color"/>
//Java    ,    
 int leftcolor=attrs.getAttributeIntValue("http://schemas.android.com/apk/res-auto","leftcolor",Color.BLACK);
 int rightcolor=attrs.getAttributeIntValue("http://schemas.android.com/apk/res-auto","rightcolor",Color.WHITE);
//   
 app:leftcolor="@color/colorPrimary"
 app:rightcolor="#ff0000"
문제:rightcolor 는 색상 을 가 져 올 수 있 지만 left 는 가 져 올 수 없습니다.(쓰기\#ff 0000 모두 가 져 올 수 있 습 니 다)
분석:
Demo 를 쓴 후에 비슷 한 문제 가 있 었 습 니 다.자신 이 몇 가지 방법 을 시 도 했 지만 해결 되 지 않 았 습 니 다.그래서 아래 의 안 드 로 이 드 소스 컨트롤 을 보고 해결 방안 은 다음 과 같 습 니 다.
해결 방안:

//attrs  
 <attr name="leftcolor" format="reference|color"/>
 <attr name="rightcolor" format="reference|color"/>
//java   ---TaiJiView    view  
 //       。
 TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.TaiJiView);
 //    
 int leftcolor = ta.getColor(R.styleable.TaiJiView_leftcolor, Color.BLACK);
 int rightcolor=ta.getColor(R.styleable.TaiJiView_rightcolor, Color.WHITE);
 //  
 ta.recycle();
//   
 app:leftcolor="@color/colorPrimary"
 app:rightcolor="#ff0000"
이 글 을 찾 으 면 당신 의 문 제 를 해결 할 수 있 기 를 바 랍 니 다.
안 드 로 이 드 사용자 정의 view 가 attr 에서 사용자 정의 색상 을 가 져 오 는 문제 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 안 드 로 이 드 사용자 정의 view 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기