2

Androidは初めてですが、簡単な問題があります。ここに通常のボタンを配置し、幅と高さの MATCH_PARENT フラグを指定すると、ボタンがすべてのスペースを埋めます。大丈夫。

これで、単純なカスタム ビュー (ビューを拡張するクラス) ができ、ビューの中央に十字を描くために OnDraw メソッドをオーバーライドしました。クロスを描画するには、コントロールの幅と高さを取得する必要があります。Eclipse の UI レイアウト エディターで固定の幅と高さを設定すると、正しく動作します (クロスのプレビューが Eclipse で直接表示されます)。ビューを境界線まで拡張すると、WARP_CONTENT のみが取得されます (ボタンを使用すると MATCH_PARENT が取得されます)。問題ありません。XML で変更しますが、LayoutParams の幅と高さは 0 を返します!! (Eclipse のプレビューで直接エラーが表示されます!) なぜですか?

OnWindowFocusChanged メソッドで幅と高さを手動で設定して待機しようとしましたが、常に 0 になります。

問題は、ビューが実際には正しい寸法を持っていることですが、getLayoutParams().width を呼び出すと 0 になるため、正しい位置 (ビューの白い背景) に白い四角形が表示されますが、十字が描かれています。左上隅!

私の悪い英語でごめんなさい。ありがとうございました。マウロ。

4

1 に答える 1

0

ビューにこのパラメーターを設定する必要があると思います。

android:layout_alignTop

またはこれに関連する何か。

于 2012-07-21T11:38:42.520 に答える