私はAndroidアプリケーションを作成しています。drawカスタムの外観を作成するには、多数の UI クラスでメソッドをオーバーライドする必要があります。これらのクラスはすべてサブクラスViewです。これを行う最善の方法は何だろうと思っています。できるだけコードを再利用できるようにしたいので、整理の助けを求めています。私が今見ているように、私には2つのオプションがあります:
オプション 1 - すべてをサブクラス化する
使いたければLinearLayout作るCustomLinearLayout。使いたければImageView作るCustomImageView。これらのカスタム クラスのそれぞれで、drawまったく同じ方法でオーバーライドします。コードを繰り返し、ほとんど何もしない多くのクラスを拡張しているため、これは効率的ではないようです。
オプション 2 - スーパー クラスをサブクラス化する
私の最初の考えは、 を拡張Viewして作成するCustomViewことでした。これは、使用したいすべてのクラスのスーパークラスであるからです。ただし、これは機能しません。使用したい既存のすべてのサブクラスがまだViewではなくを拡張しているためCustomViewです。
これを行うより良い方法はありますか?何か不足していますか?