马特(Matt)就应如何组织您的数据给出了很好的解释.我只添加实现细节.
假设输入数据采用以下格式:
[ChordName]
?[和弦的用语]
您可以使用水平RecyclerView来显示数据.每个项目的布局看起来像
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:orientation="vertical">
android:id="@+id/tv_chord_name"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
/>
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/tv_phrase"/>
我仅添加了一些属性来展示结构.您可以在第一个文本视图中使用layout_gravity =“ center_horizo??ntal”将和弦名称与歌词中心对齐.
这种工作方式是将LinearLayout的宽度设置为wrap_content,这实际上意味着它将与最长的子项的长度相同(在您的情况下为第二个TextView).
现在layout_gravity =“ center_horizo??ntal”将根据LinearLayout的长度自动将第一个TextView自动居中,这正是您所需要的.因此,无需添加空格来对齐内容