我正在尝试在左右两侧放置一些文字,如下图所示。
这里发生的是右列中的最后一行(“更多文本”)是最宽的,因此它将上面的两行向上推到右边。为了对称,左列被进一步向左推。文本值应该是动态的。有谁知道应该如何设计布局?
这是我的代码(遗憾的是,它甚至没有与右边对齐!):
<LinearLayout
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_weight="1">
<RelativeLayout android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1">
<RelativeLayout android:id="@+id/description_30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true">
<TextView android:id="@+id/title_30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30 DAYS"/>
<TextView android:id="@+id/num_ds_30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/title_30"/>
<TextView android:id="@+id/num_bs_30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/num_ds_30"/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout android:id="@+id/description_today"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_toRightOf="@id/description_30">
<TextView android:id="@+id/title_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="TODAY"/>
<TextView android:id="@+id/num_ds_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_below="@id/title_today"/>
<TextView android:id="@+id/num_bs_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_below="@id/num_ds_today"/>
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:0)
你可以通过嵌套LinearLayout
来实现这样的目标。外部LinearLayout
将有orientation=horizontal
,而内部LinearLayout
的方向为vertical
,每个都有layout_weight=1
,第二个(右){{ 1}}也有LinearLayout
。
代码就是这样的。
gravity="right"
答案 1 :(得分:0)
我认为使用RelativeLayout并将TextViews向左/右对齐是一种很好的方法。像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/Text1_Left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/Text2_Left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/Text1_Left" />
<TextView
android:id="@+id/Text3_Left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/Text2_Left" />
<TextView
android:id="@+id/Text1_Right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/Text1_Left"
android:gravity="right" />
<TextView
android:id="@+id/Text2_Right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/Text1_Right"
android:layout_toRightOf="@id/Text2_Left"
android:gravity="right" />
<TextView
android:id="@+id/Text3_Right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/Text2_Right"
android:layout_toRightOf="@id/Text1_Left"
android:gravity="right" />
</RelativeLayout>