문제

는 경우를 포함하는 아이콘:

[Embed(source='icons/checkmark.png')]
private static var CheckMark:Class;

당신은 결국 동 클래스입니다.할 수 있는 아주 쉽게 할당 아이콘을 버튼 런타임에 호출하여 편집방법:

var btn:Button = new Button();
btn.setStyle("icon", CheckMark);

하지만 당신이 원하는 어떤 경우를 변경하는 아이콘 런타임의 변경과 같이 그것의 알파 값이나 심지어 다시 그리는 픽셀을 지정하기 전에 그것을 버튼?

그래서 멀리 찾을 수 없습니다 만족스러운 답변...

도움이 되었습니까?

해결책

이것은 내가 찾을 수있는 유일한 대답입니다. 동적 아이콘 (보기 소스와 함께 예제)

그의 솔루션에는 버튼의 아이콘 설정에 사용되는 사용자 정의 "Dynamicicon"클래스와 버튼 클래스에 하나의 메소드를 추가하여 동적 아이콘을 그리는 사용자 정의 버튼 클래스가 포함됩니다.

최종 결과는 BitMapData를 Dynamicicon 클래스로 보낼 수 있으며 버튼에 표시됩니다. 따라서 이미지를 포함시키고, 자산 클래스를 인스턴스화하고, BitMapasset을 가져 와서 수정하지만 BitMapData를 아이콘으로 보냅니다.

흥미로운 문제이며 더 쉬운 솔루션이 있어야하는 것처럼 보이지만 번거 로움없이 작동합니다.

다른 팁

방법 나는 이를 구현하는 프로그래밍 피부 등을 그리는 아이콘 수 있습니다.아마도 더 많은 일을 해야하는지 확인 버튼을 계산하는 올바른 크기로 아이콘이 있는 경우에도 불구하지 않습니다.할 수 있습을 찌를 버튼을 통해 원시 코드를 보는 방법을 참조하여 아이콘이 저장됩니다.

나는 사랑을 만드는 프로그래밍 스킨는지 정확히 무엇을 원하는 다음을 사용하여 흥미로운 CSS 선언 수정하다-예를 들어:

button.setStyle("customIconAlpha", .4);

그리고 물론 피부 또는 사용자 정의 버튼 클래스가:

var alpha:Number = getStyle("customIconAlpha") as Number;

(가 확실하지 않는 경우에 당신은 배역는 한)

프로그래밍 방식의 스킨에서 찾은 큰 문제는 버튼이 너비/높이를 측정하는 것을 거부한다는 것입니다. 나는 각각의 GET 메소드를 무시함으로써 이것을 쉽게 얻을 수 있습니다.

공개 함수 재정의 너비 () : 숫자 {return width; } 공개 함수 재정의 get height () : 숫자 {return height; }

제 경우에는 tabnavigator에서 버튼을 수정해야하므로 버튼을 서브 클래스하는 쉬운 방법은 없습니다. 고맙게도 각 피부의 부모는 버튼이므로 피부 내에 정적 방법을 사용하면 아이콘 스킨이 속한 버튼의 인스턴스를 식별 할 수 있습니다.

커버 all "아이콘"스타일을 사용하는 경우 각 상태마다 새로운 스킨 객체가 생성됩니다. 따라서 아이콘 상태를 변경할 때는이 점을 명심해야합니다.

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