14:38■Viewクラスをレイアウトで使うには?前回、グラフィックの描画をした際、Viewクラスを継承して描画用のクラスを作り、それを画面に表示して使いました。こんな具合に、Viewを継承して新しいクラスを作れば、独自の部品を作ることができます。androidでは、このように部品として画面に配置して使えるものを「ウィジェット」といいます。Viewを継承してクラスを定義すれば、オリジナルのウィジェットを作ることができるのです。前回は、Activityクラスの中で、コードを書いてクラスのインスタンスを画面に設定していました。画面表示は、レイアウト用のXMLに書いて利用できるようにしたいものです。そこで、今回は「レイアウトのXMLファイルで使えるオリジナル・ウィジェット」を作ることにしましょう。レイアウトのXML内で使えるウィジェットは、さまざまなウィジェットのクラスを継承して作ることができます。グラフィックを利用する場合には、前回のようにViewを継承して作るのが基本です。いくつかメソッドを追加しなければいけません。整理すると、下に掲載したリストのようになります。ここでは、引数が2つあるコンストラクタと、「onMeasure」というメソッドが新たに追加されています。「2つの引数を持つコンストラクタ」は重要です。これがないと、レイアウトのXMLに配置してもうまく動きません。第2引数にはAttributeSetインスタンスが渡されていますが、これに、XML内に記述するタグ内のさまざまな属性がまとめられています。ここから必要な属性を取り出して設定を行うわけです。onMeasureは、ウィジェットを配置したりリサイズの要求があった場合などに、ウィジェットの大きさを正しく設定するための働きをします。このウィジェットが収められているコンテナから、ウィジェットをはめ込んだりしたときなどにサイズを設定するためのイベントが発生します。このとき、このonMeasureが呼び出されます。この際、幅と高さの制限となる値が引数で渡されます。onMeasureでは、それらをもとに表示すべき大きさを計算し、そして「setMeasuredDimension」というメソッドを呼び出して大きさを設定します。これらのメソッドを実装すれば、レイアウト用XML内で使えるウィジェット・クラスができあがります。SYODA-Tuyano.)※プログラムリストが表示されない場合AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。※libroに関する情報は、libroページを御覧下さい。よるサービスを使用して広告を表示しています。アドレス、電話番号は含まれません)。