1

画面の半分にユーザーがデータを入力するための編集テキスト ボックスがあり、残りの半分には描画してユーザーのタッチを読み取ることができるキャンバスがあるインターフェイスに取り組んでいます。

現在、View.Addview を使用して、実行時にサーフェス ビューを拡張し、レイアウト (レイアウトは XML) に追加しています。

私の問題は、ビューのサイズと位置を設定することです。正方形にして、画面の約半分(横長)を占めるようにしたい。右側に揃えて、垂直方向に中央揃えにするか、上部に揃えてください。

onMeasureメソッドをオーバーライドすることでサイズを設定できるのですが、表示サイズの取得方法がわからないので何に設定すればよいかわかりません。

ビューを整列する方法についてのアイデアはありません。さまざまなレイアウトに追加しようとしてもうまくいきません...

助けてくれてありがとう!

4

2 に答える 2

2

同じ質問があります。答えは見つかりましたか?

私はそれを考え出した。onlayout() を変更するだけで、次のように設定できます。

View child=getChildAt(0);
child.layout(100,100,300,300); 

onmeasure() には触れないでください。

于 2011-02-14T18:59:11.233 に答える
1

でも表示サイズの取得方法がわかりません

通常、コンポーネントを明示的にレイアウトする必要はありません。そのレイアウトマネージャーの義務。レイアウトの制約を設定するだけです。

画面サイズを取得する方法は次のとおりです。

yourActivity.getWindowManager()。getDefaultDisplay()。getWidth();

于 2011-04-16T00:54:04.393 に答える