[解決済み] ConstraintLayoutにビューと制約をプログラムで追加するには?
2023-05-26 06:53:32
質問
私は、プログラムによってビューを
ConstraintLayout
にビューを追加し、レイアウトが機能するために必要なすべての制約をセットアップすることに問題があります。
今あるものはうまくいきません。
ConstraintLayout layout = (ConstraintLayout) findViewById(R.id.mainConstraint);
ConstraintSet set = new ConstraintSet();
set.clone(layout);
ImageView view = new ImageView(this);
layout.addView(view,0);
set.connect(view.getId(), ConstraintSet.TOP, layout.getId(), ConstraintSet.TOP, 60);
set.applyTo(layout);
は
ImageView
はレイアウト上にも表示されません。に追加すると
RelativeLayout
に追加する場合、それは魅力的に動作します。
私のレイアウトが再び動作するように、必要な制約を作成するにはどうしたらよいでしょうか。
どのように解決するのですか?
ImageViewを追加した後、レイアウトをクローンする必要があると思います。
ConstraintLayout layout = (ConstraintLayout)findViewById(R.id.mainConstraint);
ConstraintSet set = new ConstraintSet();
ImageView view = new ImageView(this);
view.setId(View.generateViewId()); // cannot set id after add
layout.addView(view,0);
set.clone(layout);
set.connect(view.getId(), ConstraintSet.TOP, layout.getId(), ConstraintSet.TOP, 60);
set.applyTo(layout);```
関連
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
無効な文字定数
-
Java基礎 - マッピングとQ/A
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み】ConstraintLayoutをパーセント値で動作させる方法は?
-
[解決済み] EditTextにフォーカスを設定する(キーボードを表示する)には、どうすればよいですか?
-
[解決済み] ConstraintLayout: プログラムによる制約の変更
最新
-
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は、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
Solve モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory エラー
-
Jsoup-Crawlingの動作
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
セミコロン期待値エラー解決
-
Javaがテキストファイルを読み込む
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
Zipファイルの圧縮・解凍にantを使用する