問題タブ [android-constraintlayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1032 参照

android - GridLayout と ConstraintLayout を一緒に使用する場合、属性「orientation」は既に定義されています

GridLayout と ConstraintLayout を一緒に使用すると、次のエラーが発生します

問題は、両方のライブラリがこれを使用しているためです

誰かが回避策を知っていますか?

0 投票する
1 に答える
5856 参照

android - ConstraintLayout の tools:layout_constraintBaseline_creator 属性とは何ですか?

ConstraintLayout は android の新機能であるため、誰でもそれが何でありtools:layout_constraintBaseline_creator="0"、どのような目的で属性に役立つかを知っています。以下は私のコードです。

0 投票する
5 に答える
77971 参照

android - ConstraintLayoutを使用して複数のビューを中央に配置する方法は?

バックグラウンド

Google は、「ConstraintLayout」と呼ばれる新しいレイアウトを発表しました。これは究極のレイアウトであり、すべてのレイアウトをフラットなまま (ネストされたレイアウトなしで) 置き換え、パフォーマンスを向上させることができます。

問題

つまり、Google IO で提示されたビデオを除いて、この問題に役立つチュートリアルはほとんどありません。

私がやろうとしているのは、別のレイアウト内に垂直方向に中央揃えされた LinearLayout があることを考えると、両方を単一の ConstraintLayout に変換することです。

結局のところ、これがこの新しいレイアウトの目的です...

私が扱いたいレイアウトは次のようになります。

ここに画像の説明を入力

中央のビューは垂直方向にのみ中央に配置され、2 つの textView は ImageView の右側にあり、これも垂直方向に中央に配置されていることに注意してください。

これはすべて、2 つの TextView の LinearLayout を持つ RelativeLayout でうまく機能しますが、それらを単一の ConstraintLayout に変換する方法を知りたいです。

以下は、私が示したもののサンプル XML です。

私が試したこと

私はいくつかの記事を読み、いくつかの Google のビデオを見ようとしました :

それは役に立たなかったので、自分で使い方を見つけたいと思って使ってみました。しかし、私はそれを行う方法を見つけることができません。この機能を使用してレイアウトを変換しようとしましたが、これによりビューが大幅に混乱し、不要なマージンが追加されます。

質問

2 つのレイアウトを単一の ConstraintLayout に変換するにはどうすればよいですか?

0 投票する
4 に答える
28974 参照

android - ConstraintLayout でビューをグループ化して、それらを 1 つのビューとして扱う

のビューのグループにいくつかの制約を適用する必要がありますConstraintLayout。これらのビューをグループ化し、Android Studio のレイアウト デザイナーがそれらを 1 つのビューとして扱う間、編集を続けたいと考えています。ViewGroupビューを(別のレイアウト)で実際にラップせずにそうする方法はありますか?そのようなラッパーが必要な場合は、付属のラッパーレイアウトがあり、のConstraintLayoutような重いレイアウトを作成せずにオブジェクトをグループ化できますRelativeLayoutか?

0 投票する
1 に答える
1207 参照

android - 画面のオン/オフでのネストされた ConstraintLayout の可視性

次の階層を持つレイアウトがあります

list.xml

empty_layout.xml

progress_layout.xml

私の Fragment クラスでは、子 RecyclerView で SwipeRefreshLayout を非表示にし、empty_layout を表示しています。これは正常に動作しますが、デバイスの画面をオフにしてオンにすると、empty_layout が消えます。

参考:ネストされた ConstrainLayout の可視性を常に表示するように設定しましたが、画面をオフ/オンにすると消えます。

参考:ProgressViewを表示したことがある場合、ProgressViewは画面のオン/オフで表示されたままになります。これは、ProgressViewがネストされたConstraintLayoutの下にラップされていないためだと思います!?.

入れ子になった ConstrainLayout が画面のオン/オフでのみ消えるのに、画面を回転させても残る理由について何か考えはありますか?

0 投票する
5 に答える
112830 参照

android - ConstraintLayout を使用したビューの等間隔配置

の一般的な用途LinearLayoutは、ビューを等間隔 (ウェイト) にすることです。次に例を示します。 レイアウト例

new を使用して、このような等間隔のビューをどのように実装しますConstraintLayoutか?

ConstraintLayout参照用リンク:ブログ投稿I/O セッション ビデオ

0 投票する
10 に答える
117812 参照

android - ConstraintLayout の制約に合わせて幅を設定する

ビューの左側と右側を親ビューのマージンに制限し、割り当てられたスペースを埋めたいと思います。ただし、 width を または のいずれかに設定match_parentするwrap_contentと、同じ結果が得られるように見えます。

(match_parent と wrap_content ではなく) match_constraints に相当するものはありますか? match_parentレイアウトに影響を与えますかwrap_content、それとも新しい制約レイアウトで無視されますか?

0 投票する
6 に答える
7911 参照

android - Travis CI ビルドが Android Constraint Layout で機能しない

Travis に Android プロジェクトをビルドさせようとしています。のライブラリをダウンロードしようとすると失敗しますConstraintLayout。それを機能させるために私がしなければならないことを知っていますか?

.travis.ymlはこれです:

build.gradleは:

Travis で表示されるエラーは次のとおりです。

これを修正する方法はありますか?ConstraintLayoutTravisでビルドすることは可能ですか?

0 投票する
0 に答える
1038 参照

android - ConstraintLayout の中央コンポーネント

ConstraintLayout以下で説明するユースケースに使用すべきではないことは確かですが、議論のために、垂直方向に整列されたコンポーネントを中央に配置する最良の方法は何でしょうか(重力を「中央」に設定し、垂直方向に設定するConstraintLayoutことで可能なため)LinearLayout) ?

4 つの側面すべてに拘束を追加することで、1 つのコンポーネントを中央に配置することができます。画面の中央に完全に配置されます。しかし、相互に制約された複数のコンポーネントがある場合、すべてのコンポーネントがオーバーラップする傾向があるため (上下に制約されている場合、これは予期される動作です)、新しく追加されたコンポーネントが中央のコンポーネントの下 (または上) になるため、注意が必要です。

中央のコンポーネントの上に 1 つのコンポーネントを追加し、下に 1 つのコンポーネントを追加することで、完璧であるとは思えないソリューションに行き着きました。そうすれば、コンポーネントは垂直に整列され、ほぼ中央に配置されます:)。

次に例を示します。

  1. 中央のコンポーネント:

中央のコンポーネント

  1. 上のコンポーネント、中央に拘束

ここに画像の説明を入力

  1. 下のコンポーネント、中央に拘束

ここに画像の説明を入力

上下に配置された他のコンポーネントは、それぞれ最も近いコンポーネント (上または下) に拘束されます。最初の画像でわかるように、「Country」フィールドの下に 3 つのコンポーネント、上に 2 つのコンポーネントがあるため、コンポーネントは完全に中央に配置されていません。どのデザイナーもこれに気付くでしょう:)、ConstraintLayoutコンポーネントのグループ全体を使用して中央に配置することは可能ですか(または、このように機能することを意図していません)

PS LinearLayoutwithgravity="center"は、おそらくこの場合の最適なソリューションです。

0 投票する
1 に答える
1284 参照

android - ConstraintLayout はそれぞれの子を何回測定しますか?

RelativeLayout は、すべての子を 2 回測定します。これにより、パフォーマンスの問題が発生する可能性があります。制約レイアウトは、その子をそれぞれ 1 回だけ測定しますか?