好的,我已经建立了一个完整的布局;但是,我对生成的长 xml 文件并不满意。我在下面有一个简短的 xml 大纲和设计器视图。我想知道如何将每组相似的组件抽象到他们自己的自定义控件中。
例如,在下图中,我突出显示了一个我想抽象出来的控件。而不是一个LinearLayout
带有 2TextView
的内部有自己的属性和属性集。我想通过<package-name.individual_song_item
android:layout...> ... </>
. 我所要做的就是TextView
通过顶级组件中的属性设置第一个文本和第二个文本。
如何才能做到这一点?我已经完成并完成了布局,但我不喜欢没有任何东西被抽象掉。
所以我正在寻找的预期结果是(如果你看图像的右侧。图像下方只有一个LinearLayout
,其余的是<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>