在尝试遵守我公司的设计规范时,我遇到了使用Android中的LinearLayout的一些问题。总体而言,总体目标是在屏幕的左侧和右侧设置按钮,在中间设置一些文本。我能够轻松地完成这项工作:
当屏幕不够大以容纳所有文本时,会出现复杂情况。设计规范规定应始终显示整个时间,同时应截断消息文本。为了实现这一点,我创建了两个控件(一个用于消息,一个用于时间)。我设置了消息控件以包装它的内容,期望包装强制内容隐藏自己,如果它超大,但我得到的最终结果与我期望的有点不同:
我需要将它显示到时间中显示“AM”并且文本缩写为“约会D ......”以使其全部适合允许的空间。
以下是我正在使用的导致问题的布局:
<LinearLayout
android:id="@+id/backandlistnavigation_header_phone"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/header_shade">
<ImageButton
android:id="@+id/button_backNav"
android:layout_width="40dp"
android:layout_height="match_parent"
android:src="@drawable/back_arrow"
android:background="@color/transparent" />
<Space
android:layout_width="40dp"
android:layout_height="match_parent" />
<LinearLayout
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal"
android:background="@color/transparent">
<include
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginRight="4dp"
layout="@layout/TopTextViewPhone" />
<include
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
layout="@layout/TopTextClockPhone" />
</LinearLayout>
<ImageButton
android:id="@+id/button_up"
android:layout_width="40dp"
android:layout_height="match_parent"
android:src="@drawable/ic_chevronup"
android:background="@color/transparent" />
<ImageButton
android:id="@+id/button_down"
android:layout_width="40dp"
android:layout_height="match_parent"
android:src="@drawable/ic_chevrondown"
android:background="@color/transparent" />
</LinearLayout>
如果有人能指出我正确的方向来解决这个问题,我会非常感激。提前谢谢!
答案 0 :(得分:2)
也许考虑使用RelativeLayout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:lines="1"
android:layout_toLeftOf="@+id/textView1"
android:text="Really long text that I want to truncate. So, more text here" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="11:18 AM" />
</RelativeLayout>