0

XML エディターによると、私のレイアウトは次のようになります。 ここに画像の説明を入力

ただし、アプリでは次のようにレンダリングされます。

ここに画像の説明を入力

このような場合にチェーン機能が機能しない理由がわかりません。このインスタンスの修正方法と、チェーンを正しく構築する方法を一般的に把握するにはどうすればよいですか?

<?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="match_parent">


    <ImageButton
        android:id="@+id/verfügungButton"
        android:layout_width="@dimen/icon_size"
        android:layout_height="@dimen/icon_size"
        android:layout_marginStart="8dp"
        android:scaleType="fitCenter"
        android:src="@drawable/icons8_home_50"

        app:layout_constraintEnd_toStartOf="@+id/ramhat" />


    <ImageButton
        android:id="@+id/ramhat"

        android:layout_width="@dimen/icon_size"
        android:layout_height="@dimen/icon_size"

        android:scaleType="fitCenter"
        android:src="@drawable/icons8_settings_50"

        app:layout_constraintEnd_toStartOf="@+id/kuerzel"
        app:layout_constraintStart_toEndOf="@id/verfügungButton"
        />


    <TextView
        android:id="@+id/kuerzel"
        android:layout_width="@dimen/icon_size"
        android:layout_height="@dimen/icon_size"
        android:layout_marginStart="8dp"

        android:text="Text2"

        app:layout_constraintEnd_toStartOf="@+id/rubrik"
        app:layout_constraintStart_toEndOf="@id/ramhat" />


    <TextView
        android:id="@+id/rubrik"
        android:layout_width="@dimen/icon_size"
        android:layout_height="@dimen/icon_size"
        android:layout_gravity="center_vertical"
        android:layout_marginStart="8dp"
        android:text="Text1"

        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@id/kuerzel" />
</android.support.constraint.ConstraintLayout>
4

3 に答える 3

1

あなたが投稿したものは、技術的には「チェーン」ではありません。複数のビューに開始制約と終了制約の両方があり、すべてのビューが相互に (または別のビュー/チェーンの終了の親に) リンクされている場合、チェーンが形成されます。最初ImageButtonの制約には終了制約しかないため、これはチェーンではありません。

もちろん、それはまったく問題ありません。すべてを親の最後までスライドさせたいので、とにかくチェーンは必要ないでしょう。

しかし、それを念頭に置いて、既存の制約を変更できることを意味します。app:layout_constraintStart_toEndOfすべての制約を削除します。

<ImageButton
    android:id="@+id/verfügungButton"
    app:layout_constraintEnd_toStartOf="@+id/ramhat"/>

<ImageButton
    android:id="@+id/ramhat"
    app:layout_constraintEnd_toStartOf="@+id/kuerzel"/>

<TextView
    android:id="@+id/kuerzel"
    app:layout_constraintEnd_toStartOf="@+id/rubrik"/>

<TextView
    android:id="@+id/rubrik"
    app:layout_constraintEnd_toEndOf="parent"/>

これにより、依存関係が明確になり、必要に応じてすべてがビューの最後にスライドします。

于 2018-10-10T15:10:29.077 に答える