美好的一天,
我有点困境。我有2个TextViews(如屏幕截图所示)
正如您所看到的,日期落后于价格。
当textview位于RelativeLayout中时,会发生这种情况。我将它们移动到线性布局,现在发生的事情是将价格设置为2行。
我希望发生的是文本的布局如下:
Ends 30 Jun... R3,500,000.00
而不是像屏幕截图中那样重叠。
我的当前布局是:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/trade_details_include_trade_image"
android:layout_below="@id/trade_details_include_trade_title"
android:layout_toRightOf="@id/trade_details_include_trade_image"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:id="@+id/trade_details_include_trade_ending_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/light_text"
android:textSize="@dimen/font_16"
tools:text="Ends 24 June 00:00"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/trade_details_include_trade_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/primary_text"
android:textSize="@dimen/font_16"
android:textStyle="bold"
tools:text="R138,500,000.00"/>
</RelativeLayout>
</LinearLayout>
当价格很大,如R138,500,000.00时,它会像这样展示
R138,500,
Ends 22 June 00:00 000.00
现在我知道还有其他关于这个类似问题的SO问题,但是没有一个(我发现)已经给了我需要的解决方案,其中日期可以省略,价格是优先级textview
希望有人可以帮助我。
答案 0 :(得分:1)
试试这样,对你有所帮助
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/trade_details_include_trade_image"
android:layout_below="@id/trade_details_include_trade_title"
android:layout_toRightOf="@id/trade_details_include_trade_image"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:id="@+id/trade_details_include_trade_ending_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textColor="@color/light_text"
android:textSize="@dimen/font_16"
android:ellipsize="end"
android:singleLine="true"
android:layout_toLeftOf="@+id/trade_details_include_trade_price"
android:text="Ends 24 June 00:00" />
<TextView
android:id="@+id/trade_details_include_trade_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/primary_text"
android:textSize="@dimen/font_16"
android:text="R138,500,000.00"
android:textStyle="bold" />
</RelativeLayout>
答案 1 :(得分:0)
有点晚,但取决于可变文本长度可能是更好的解决方案。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:id="@+id/trade_details_include_trade_ending_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_alignParentLeft="true"
android:textColor="@color/light_text"
android:textSize="@dimen/font_16"
android:ellipsize="end"
android:singleLine="true"
android:layout_toLeftOf="@+id/trade_details_include_trade_price"
android:text="Ends 24 June 00:00" />
<TextView
android:id="@+id/trade_details_include_trade_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_weight="0"
android:textColor="@color/primary_text"
android:textSize="@dimen/font_16"
android:text="R138,500,000.00"
android:textStyle="bold" />
</LinearLayout>
通过设置layout_weights,它几乎适用于任何文本的布局,并将使用ellipsize剪切第一个textview。