2016-06-01 10 views
-1

これは愚かな質問かもしれませんが、インターネット上で何の答えも見つかりませんでした。アンドロイドは動的に作成されたボタンの幅と高さを100%に設定しました

別のボタンを押したときに、画面全体(幅= 100%、高さ= 100%)を塗りつぶすボタンを作成したいとします。

は、したがって、私はこれを試してみました:

Button button = new Button(); 
button.setText("fills screen"); 
button.setWidth(100); 
button.setHeight(100); 

問題がにsetWidthとsetHeightメソッドメソッドは、パーセントでPXを扱うとされていないということです。

px値の代わりにパーセント値を使用するには、何を追加する必要がありますか?

+0

画面全体をボタンで塗りつぶしたいのですか、親のレイアウトだけで塗りつぶしますか? – W0rmH0le

答えて

0

私はあなたが(2 JohnEye彼の答えに実証によって分裂しない以外)

それともあなたができるが、その方法を利用することができ、ここで、プログラム programmatically set button width to 50 of parent linearlayout

を幅を設定する方法の詳細記事をリンクしますLayoutParamsクラスを使用し、パラメータが設定された新しいインスタンスを作成し、それらのパラメータをオブジェクトに渡します。

LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
button.setLayoutParams(lp); // Assuming you've already initiated it of course as above 

MATCH_PARENTがビューに表示されます。ルートビューが階層上で最も高いビューであれば、これは全体のビューを埋めるので機能します。そうでない場合は、ボタンをそこに移動する必要があります。 (これはあなたのlinearLayoutや他のビューかもしれません)

これは役に立ちます。

関連する問題