Relativelayoutを含むCardview内でRelativeLayoutを編集しているときに、めちゃくちゃになりました! ConstraintLayoutは、相対レイアウトのwrap_contentを0に変更し、tools:layout_editor_absoluteX = "10dp"を追加します。相対レイアウト内のすべてのテキストビューは、カードビューの右上を折りたたみます!!! (ネストされたCardViewの要素は、CardViewの外部の要素に配置されます)
<Android.support.v7.widget.CardView
Android:id="@+id/card_view"
Android:layout_gravity="center"
Android:layout_width="357dp"
Android:layout_height="114dp"
Android:layout_margin="5dp"
app:cardCornerRadius="2dp"
app:contentPadding="10dp"
app:cardElevation="10dp"
tools:layout_editor_absoluteY="36dp"
app:cardBackgroundColor="@Android:color/white"
tools:layout_editor_absoluteX="11dp">
<RelativeLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
tools:layout_editor_absoluteX="10dp"
tools:layout_editor_absoluteY="10dp">
<TextView
Android:text="TextView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/textView2"
tools:text="Location"
Android:textAppearance="@style/TextAppearance.AppCompat.Body2"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp"
Android:layout_alignParentTop="true"
Android:layout_alignParentLeft="true"
Android:layout_alignParentStart="true" />
</RelativeLayout>
<ImageView
Android:src="@drawable/ic_hotel"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/imageView3"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp"
Android:layout_centerVertical="true"
Android:layout_alignParentLeft="true"
Android:layout_alignParentStart="true" />
<TextView
Android:text="TextView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/textView3"
tools:text="Bangalore"
Android:textAppearance="@style/TextAppearance.AppCompat.Medium"
tools:layout_editor_absoluteX="10dp"
tools:layout_editor_absoluteY="10dp"
Android:layout_alignBottom="@+id/imageView3"
Android:layout_toRightOf="@+id/textView2"
Android:layout_toEndOf="@+id/textView2" />
</Android.support.v7.widget.CardView>
constraintLayoutを使用したRelativeLayoutの設計に関するガイドがあれば十分です。ConstraintLayoutを使用している間、RelativeLayoutはどこでも使用できませんか? CardViewsがConstraintLayoutの子であるときにRelativeLayoutを使用しているときにCardViewの子を使用するためのガイドラインは何ですか?
実際、それは課題追跡が意味するものではありません:-/
それを明確にするために、tools:layout_editor_absolute[X/Y]
ConstraintLayoutの子(直接でない子孫であっても)に挿入された属性は、Android Studio 2.2プレビューのバグです(プレビュー3または4以降は修正されていると思います)。 ConstraintLayout以外は何も実行しないため、文字列は存在すること以外に何もしませんでした。
ここで、CardView自体-Nested ConstraintLayout-CardViewは単にFrameLayoutである必要がないため、内部でConstraintLayoutを使用したい場合それ、すべてが機能します。
並行して、CardViewをConstraintLayout内に配置することもできます。
Issue Trackerが求めていたものは異なりました。それは、ConstraintLayout > CardView > TextView
は、TextView
に制約を適用します。しかし、Androidレイアウトシステムが機能する方法ではないため、WorkingAsIntendedとして問題がクローズされました。
ここでTextView
に属性を追加すると、それらの属性を理解する責任があるレイアウトは、その直接の親(この場合はCardView
)のみになることができます。そしてCardView
はConstraintLayout
のサブクラスではなく、FrameLayout
のサブクラスです-基本的に、挿入されたこれらのConstraintLayout属性をどうするかを知りません。
代わりにできることは、次のような階層です。
ConstraintLayout > CardView > ConstraintLayout > TextView
TextViewは、ConstraintLayoutビューグループの直接の子孫になるため、制約を使用して配置できます。