[解決済み] ConstraintLayoutの中のWrap_contentビューが画面の外に伸びる
質問
を使用して、簡単なチャットバブルを実装しようとしています。
ConstraintLayout
. これは、私が実現しようとしていることです。
しかし
wrap_content
は、私が望んでいることを行いません。余白を尊重しますが、ビューの境界の外に展開されます。以下は、私のレイアウトです。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/chat_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintHorizontal_bias="0"
tools:background="@drawable/chat_message_bubble"
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sodales accumsan tortor at bibendum."
android:layout_marginStart="64dp"
android:layout_marginLeft="64dp"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" />
</android.support.constraint.ConstraintLayout>
これは以下のようにレンダリングされます。
を使っています。
com.android.support.constraint:constraint-layout:1.0.0-beta4
.
私のやり方が悪いのでしょうか?バグなのか、それとも単なる直感的でない動作なのか?このような場合
ConstraintLayout
(他のレイアウトが使えることは知っています。
ConstrainLayout
を具体的に説明します)。
解決方法は?
古くなった。 ベターアンサーを見る
いいえ、現在(1.0ベータ4)のConstraintLayoutでは、あなたが望むことはできません。
-
wrap_content
は、ウィジェットに自分自身を測定するように要求するだけで、最終的な制約に対してウィジェットの拡張を制限することはありません。 -
match_constraints
(0dp) 意志 は、制約に対してウィジェットのサイズを制限します。wrap_content
の方が小さかったかもしれません(最初の例)。
だから今、あなたはその特別なケースのために運が悪いのです :-/。
さて......私たちは今、このプロジェクトに必要な機能を追加することを考えています。
match_constraints
このシナリオに対応するために、(
wrap_content
ただし、サイズが制約を超えない限り)。
しかし、この新機能が1.0リリースまでに実現することを約束することはできません。
編集
1.0では、この機能を属性で追加しました。
app:layout_constraintWidth_default="wrap"
(幅は0dpに設定)。設定された場合、ウィジェットは wrap_content を使用する場合と同じサイズを持ちますが、制約によって制限されます (すなわち、制約を超えて拡張しません)。
更新 現在、これらのタグは非推奨です。代わりにlayout_width="WRAP_CONTENT"とlayout_constrainedWidth="true"を使用してください。
関連
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] Androidのリストビューをスクロールビュー内に表示する
-
AndroidStudio3.0 Error:Execution failed for task ':app:processDebugResources'.
-
指定された子にはすでに親がいます。まず、その子の親に対して removeView() をコールする必要があります。
-
Android基本アプレット
-
Androidカスタムドロップダウンリストボックスコントロール
-
[解決済み] 画面下部のビューを揃えるには?
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み】ConstraintLayoutで要素を中央に配置する方法
-
[解決済み] ScrollViewの中に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 実装 サイバーパンク風ボタン
おすすめ
-
java.lang.NullPointerException: NULLオブジェクト参照で仮想メソッド......を呼び出そうとしました。
-
AndroidエミュレーターのADBサーバーがACKしない問題
-
Gradle の同期に失敗しました。com.android.tools.build:gradle が見つかりませんでした。
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
android:EMSのプロパティ
-
Android開発で「Attempt to invoke virtual method 'XXX()' on null object reference」というヌルポインター例外に遭遇する。
-
JVMのエラーに遭遇しました。Java Runtime Environmentによって致命的なエラーが検出されました。
-
アンドロイドリストビュー
-
Androidのカラーグラデーション実装のまとめ
-
Android--shape--描画のコーナー、グラデーション、パディング、サイズ、ソリッド、ストロークのプロパティを指定する。