0

OK、完全なレイアウトが構築されました。しかし、結果として得られた長い xml ファイルにはあま​​り満足していません。以下に、xml アウトラインとデザイナー ビューの簡略版を示します。そして、同様のコンポーネントの各グループを独自のカスタム コントロールに抽象化する方法を考えていました。

たとえば、下の図では、抽象化したいコントロールの 1 つをハイライトしています。LinearLayout内部に2TextViewがあり、独自のプロパティと属性が設定されている代わりに。経由で参照したいと思い<package-name.individual_song_item android:layout...> ... </>ます。私がしなければならないのはTextView、最上位コンポーネントの属性を介して、最初の のテキストを 2 番目のテキストと一緒に設定することだけです。

これはどのように行うことができますか?レイアウトを完成させましたが、何も抽象化されていないのは好きではありません。

したがって、私が探している期待される結果は次のとおりです(画像の右側を見ると、LinearLayout画像の下に1つだけあり、残りは になります<package-name.individual_song_item>

コンポーネントのサブセットのみを使用して新しいレイアウト xml を作成しようとしましたが、それを元に戻すときに機能させることができませんでした。

ここに画像の説明を入力


オールドウェイ

<LinearLayout >

    <ImageView />

    <LinearLayout >

        <LinearLayout >

            <TextView />
            <TextView />

        </LinearLayout>

        <LinearLayout >

            <TextView />
            <TextView />

        </LinearLayout>

        <LinearLayout >

            <TextView />
            <TextView />

        </LinearLayout>

        ....

    </LinearLayout>

</LinearLayout>

可能な提案された方法

<LinearLayout >

    <ImageView />

    <LinearLayout >

        <com.example.individual_song_item />
        <com.example.individual_song_item />
        <com.example.individual_song_item />

        ....

        <com.example.individual_song_item  <!-- example (possible!?!?) -->
            ....
            app:label="Group"
            app:value="Group Name" />

    </LinearLayout>

</LinearLayout>
4

1 に答える 1