問題タブ [constraint-layout-chains]

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 投票する
4 に答える
28974 参照

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

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

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

android - ConstraintLayout チェーンとテキストの省略記号 + 右側の画像

2020 年 7 月の更新:

以下の回答に情報を追加して、なぜ/何が機能constrainedWidth/Heightし、いつそれらを使用できるかをより詳細に説明しました。

2018 年 7 月の更新:

を使用している場合ConstraintLayout 1.1.0、使用する正しいプロパティapp:layout_constrainedWidth="true"は、古いapp:layout_constraintWidth_default="wrap"(および対応する高さ) の代わりになります。更新された回答を参照してください。

2017 年 11 月の更新:

ConstraintLayout 1.0.0安定版 (またはそれ以降) (現時点では 1.0.2)を使用している場合は、レイアウトをネストする必要のないより簡単なソリューションについて、更新された回答を参照してください。

元の質問:

ConstraintLayouts-Beta32016 年 11 月 3 日にリリースされた使用。 ( source )

私は次のことをしようとしています:

私は次のようなレイアウトで達成しました:

これは問題ないように見えますが、テキストが使用可能なスペースよりも長い場合…</p>

テキスト ビューには、以下を指定するスタイルがあります。

うまくいくはずですが、画像を右端までスライドさせてからそこで停止し、テキストビューにスペースがないことを理解させるために必要な制約がわかりません。

私は何が欠けていますか?

注:テキストビューの幅を0dpに設定すると機能しますが、画像は常に右側にあります(水平バイアスは無視されるようです)

注 2: beta2 でも試してみましたが、実際のところ、Beta3にはビジュアル エディターにバグがあるようです。

更新: Xcode/AutoLayout でこれを複製しようとしました:

これは、短いテキストでどのように見えるかです

短いテキスト

同じレイアウトで、テキスト ビューに長いテキストを入力するだけです…</p>

長いテキスト

画像ビューのトレイル (右) 制約を見るとわかるように、右マージンから8 ポイント以上離れています。

また、ラベル (textView) の左側にピン留めされています。

Twitter から学んだことから、現時点では Android の ConstraintLayoutではこれができない可能性があります。

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

android-constraintlayout - Androidスタジオのデザインで制約レイアウトのChains機能を追加する方法

制約レイアウトに 2 つの画像があります。Android Studio のデザイン ページでチェーン機能を使用したいのですが、チェーン機能を表すアイコンまたはメニューが見つかりません。

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

android - ConstraintLayout beta5 wrap_content が正しくラップされない

RecyclerView 内に ViewHolder の XML レイアウトがあります。

このレイアウトのルートは、高さが に設定されている ConstraintLayout ですwrap_content

このフラットな階層内には、3 つのテキストビューと高さが固定されたイメージ ビューがあります。のことを考える:

比較的シンプルなレイアウトです。これbeta4は、デザイナーでどのように見えるかです (最終的に実行時に、各 recyclerView セル):

ベータ4

「お役所仕事」で申し訳ありませんが、NDA 何とか何とかです。

つまり、要素は次のとおりです。

3 つのテキスト ビュー (素敵な紫の背景に赤テープ) 高さ 150 dp の ImageView は灰色のものです。

紫色の背景がルート ConstraintLayout に適用されました。すべていい。

Beta 5 で変更を加えていない場合は、次のようになります。

ベータ5

ご覧のとおり、紫色 (ルート) の Constraint Layout は「混乱」しており、以前のようにコンテンツをラップしません。

私が試したこと:

  1. ConstraintLayout への追加app:layout_constraintHeight_default="wrap"(およびスプレッドも)。違いはありませんでした。

  2. ImageView には、app:layout_constraintBottom_toBottomOf="parent"削除しようとした制約がありますが、どちらも違いはありませんでした。

  3. beta4 に戻してください :)

記録として、これは完全なレイアウトです (id は、お役所仕事の理由で名前が変更されており、同じ理由で tools:text などはありません)。それ以外のレイアウトはまったく同じです。

私は何か違うことをすることになっていますか?(これを RelativeLayout に置き換えて、おそらく同じことを行うことができることはわかっていますが、とにかく… ConstraintLayout を信じています!) :)