我想显示分配给两个不同标题的三个不同值,换句话说,第一个标题包含一个值,第二个标题包含两个值
我的方法是拆分“标题线性布局”40/60和“值线性布局”40/30/30。为了不显示从边界开始的文本,我在任何地方放置了android:layout_marginLeft="15dp"
,所以最后它应该保持成比例。
在我的XML中,我声明了以下内容:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_weight="4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="@string/txt_price_chf"
/>
<TextView
android:layout_weight="6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="@string/txt_price_offshore_chf"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:id="@+id/tv_price_ch"
android:layout_weight="4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="Value1"
/>
<TextView android:id="@+id/tv_price_off_chf"
android:layout_weight="3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="Value2"
/>
<TextView android:id="@+id/tv_price_off_eur"
android:layout_weight="3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="Value3"
/>
</LinearLayout>
结果如下:
为什么“价格离岸:” - TextView和“Value2”-TextView不一致?请注意,“离岸价格”保存在我的strings.xml中,没有像空格或类似的错误。首先我想,它是由android:layout_marginLeft="15dp"
引起的,但是
我怎么理解“dp”是特定的相对值
分辨率(因此android:layout_weigth
的分割不应该
影响这个)和
如果我删除边距,它们仍然不在 线。
有人有想法吗?我是否忽视了一些明显的东西?
答案 0 :(得分:1)
<TextView
android:layout_weight="4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="-10dp"
android:text="@string/txt_price_chf"
/>
这对你有用......
答案 1 :(得分:0)
不是你应该用LinearLayout
做的事情。
我建议使用RelativeLayout
,你可以说那两个应该对齐。
在这种特殊情况下,如果不深入细节,可以是marginRight,padding等,也可以只是非等宽字体的副作用。
答案 2 :(得分:0)
或另一种选择:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight=".60"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="txt_price_chf" />
<TextView
android:id="@+id/tv_price_ch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Value1" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight=".40"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="txt_price_offshore_chf" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_price_off_chf"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Value2" />
<TextView
android:id="@+id/tv_price_off_eur"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Value3" />
</LinearLayout>
</LinearLayout>