2

Relativelayoutを含むCardviewの中でRelativeLayoutを編集中に私はうんざりしました! ConstraintLayoutは、相対レイアウトのwrap_contentを0に変更し、ツールを追加します:layout_editor_absoluteX = "10dp"相対レイアウト内のすべてのtextviewは、cardviewの右上を崩壊させます。 (ネストされたCardViewの要素をCardViewの外部要素に整列されます)親である間にCardViewを設計するのはConstraintLayoutですか?

<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を設計に関するいかなるガイドは完全素晴らしいことだ、RelativeLayoutを使用することができませんどこでもConstraintLayoutを使用していますか? CardViewsがConstraintLayoutの子である間に、RelativeLayoutを使用している間、CardViewの子を使用するためのガイドラインは何ですか?

答えて

9

実は、それが課題追跡を意味するものではありません: -/

がそれをクリアするには、ConstraintLayout(さえ非直系の子孫)のいずれかの子供たちに挿入tools:layout_editor_absolute[X/Y]属性は、Android Studioの2.2プレビューのバグでした(それは私が信じているプレビュー3または4から修正されている)。それは、ConstraintLayout以外の何かがそれらと何もしないので、彼らは文字通り現在存在している以外何もしていないと言いました。

CardView自体のために、ネストされたConstraintLayout - CardViewは単にFrameLayoutであるため、内部でConstraintLayoutを使用する場合はすべて動作します。

並行して、CardViewをConstraintLayoutの内側に配置することもできます。

問題トラッカーが求めていたのは異なっていました。つまり、ConstraintLayout > CardView > TextViewTextViewに制約を適用するように階層内で質問していました。しかし、それはアンドロイドのレイアウトシステムがどのように動作するかではないため、問題はWorkingAsIntendedとして閉じられました。

属性をTextViewに追加すると、それらの属性を理解するためのレイアウトは直接の親になることができます。この場合はCardViewです。 CardViewConstraintLayoutのサブクラスではなく、FrameLayoutのサブクラスです。基本的に、挿入されたConstraintLayout属性の処理方法はわかりません。それはConstraintLayoutののViewGroupの直接の子孫であるようにTextViewには、その後、制約を使用して配置することができる

ConstraintLayout > CardView > ConstraintLayout > TextView 

:のようなあなたの代わりに何ができるか

は階層です。

enter image description here

+0

おかげで、詳細な応答のために!、私はプレビュー3または4でそれを試してみるだろう! –

+1

ベータ1がリリースされました。おそらくもっと良いアイデアです:) http://tools.android.com/recent/androidstudio22betaavailable –

+8

よろしくお願いします。しかし、その場合、ConstraintLayoutはレイアウトの深い階層をどのように解決していますか? – Radu

関連する問題