나는 안드로이드 애플리케이션을 만들고있다. 사용자 지정 모양을 만들려면 여러 UI 클래스에서 draw
메서드를 재정의해야합니다. 이 클래스들은 모두 서브 클래스 View
입니다. 나는 이것을하는 가장 좋은 방법이 무엇인지 궁금 하네. 나는 코드를 가능한 한 많이 재사용 할 수 있기를 바란다. 그래서 나는 물건 정리에 도움을 찾고있다. 내가 LinearLayout
를 사용하려면 내가 CustomLinearLayout
를 생성, 서브 클래스의 모든자바 디자인 패턴 : 여러 클래스에서 같은 메소드
-
옵션 1 : 내가 지금 그것을 볼 때, 나는 두 가지 옵션이 있습니다. ImageView
을 사용하려면 CustomImageView
을 만듭니다. 이러한 각 사용자 지정 클래스에서 나는 정확히 동일한 방법으로 draw
을 재정의합니다. 이것은 코드를 반복하고 거의 아무것도하지 않는 클래스를 확장하기 때문에 효율적으로 보이지 않습니다.
옵션 2 - 슈퍼 클래스
을 하위 클래스 내 원래 생각은 View
을 확장하고 이미 내가 사용하고자하는 모든 클래스의 슈퍼 클래스이기 때문에, CustomView
을 만드는 것이 었습니다. 그러나 사용하려는 모든 기존 서브 클래스가 여전히 View
(CustomView
아님)으로 확장되어 있기 때문에이 방법은 작동하지 않습니다.
더 좋은 방법이 있나요? 내가 놓친 게 있니?
최종 목표는 무엇입니까? – GraphicsMuncher
패턴 : 인터페이스를 만듭니다. –
많은 서브 클래스에서 draw를 오버라이드하고 있습니다. 그런 다음보기의 비트 맵을 잡아서 품질이 저하 된 모양으로 수정하려고합니다. 이 "문제"는 지금까지 몇 번 보았던 것입니다. 따라서 프로젝트를 구성하는 더 좋은 방법이 있는지 이해하고 싶습니다. – raydowe