2016-11-15 8 views
2

トップから60%、LinearLayoutのガイドラインに制約があります(LinearLayoutが画面の60%になるため)。今では、CardViewの半分をLinearLayoutの底に置く必要があります(スクリーンショットが追加されました)。Androidの制約センター

CardViewの高さはwrap_contentです。原因は動的に追加されるため、高さはわかりませんし、マージンボトム~50dpのようなものは使用できません。私が持っているもの厥

:センターによって制約のように私は未来を見つけることができません

enter image description here

Thats what I have

私はそのようなものが必要。私を手伝ってくれますか。

答えて

-1

実行時にコードでこれを行うのが一番の方法です。高さが計算されるまで待ってから、上端に-.5 *高さを加えます。

4

cardviewのトップアンカーを線形レイアウト(またはガイドライン)のボトムアンカーに接続するように設定し、ボトムアンカーに対しても同様に設定する必要があります。上部と下部の両方のアンカーが同じターゲットを指している場合、カードビューはそのターゲットに垂直にセンタリングされます。また、あなたが行うことに応じて、線形レイアウトは必要ありません。 chains functionalityConstraintLayoutにチェックしてください。

enter image description here

<android.support.v7.widget.CardView 
    android:layout_width="300dp" 
    android:layout_height="200dp" 
    tools:layout_editor_absoluteX="28dp" 
    app:layout_constraintBottom_toTopOf="@+id/guideline" 
    app:layout_constraintTop_toTopOf="@+id/guideline" 
    tools:layout_editor_absoluteY="156dp" /> 

<android.support.constraint.Guideline 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/guideline" 
    android:orientation="horizontal" 
    app:layout_constraintGuide_percent="0.5" />