[解決済み】プログラムによるLinearLayoutのマージン設定
2022-03-31 12:34:52
質問
Javaを使おうとしているのですが、( XMLではない ) を使って、画面いっぱいにボタンを配置し、余白を持たせたLinearLayoutを作成しました。以下は、余白なしで動作するコードです。
LinearLayout buttonsView = new LinearLayout(this);
buttonsView.setOrientation(LinearLayout.VERTICAL);
for (int r = 0; r < 6; ++r) {
Button btn = new Button(this);
btn.setText("A");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); // Verbose!
lp.weight = 1.0f; // This is critical. Doesn't work without it.
buttonsView.addView(btn, lp);
}
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
setContentView(buttonsView, lp);
それで問題ないのですが、ボタンとボタンの間にスペースがあるようにするには、一体どうしたらいいのでしょうか?試しに
LinearLayout.MarginLayoutParams
しかし、これには
weight
のメンバーなので、ダメなんです。そして、それを
lp
をコンストラクタで呼び出すこともできます。
これは不可能なことなのでしょうか?というのも、確かにそう見えるし、XMLでしかできないAndroidのレイアウトタスクはこれが初めてではないでしょう。
どのように解決するのか?
以下は、それを実現するためのちょっとしたコードです。
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(30, 20, 30, 0);
Button okButton=new Button(this);
okButton.setText("some text");
ll.addView(okButton, layoutParams);
関連
-
[解決済み] ImageViewの幅と高さをプログラムで設定する?
-
[解決済み] maven. -source 1.5ではラムダ式がサポートされていません。
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] 要素 'beans' の宣言が見つかりません。
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] x--やx++はここで何をするのですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidで、dpの余白をプログラムで設定する方法を教えてください。
-
[解決済み】AndroidのボタンにdrawableLeftをプログラム的に設定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] HashMapのtoString関数はなぜ異なる順序で自分自身を印刷するのですか?
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] JavaにおけるMouseListenerとMouseAdapterの違いについて
-
[解決済み] Androidで、dpの余白をプログラムで設定する方法を教えてください。