我看过几个SO问题,但这些问题对我来说都不起作用。 例如Android: How to wrap a layout to its views without exceeding a fixed size
这是我目前的布局。
<LinearLayout
android:id="@+id/dummy_wrapper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/eventTitleList"
android:layout_below="@+id/eventTitleList"
android:layout_marginTop="6dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="Today at 7:00pm - 9:30pm"
android:textColor="#666666"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:singleLine="true"
android:text="\@ Museum" />
</LinearLayout>
对象现在是并排的。如果dummy_wrapper
的宽度为“小”且name
为几个单词,则为“elipsize-d”(...
在其末尾添加并隐藏不能使用的单词可见)。
如果我删除singleLine
name
将自行包裹。
我想:
name
)包裹在第一个孩子(time
)name
已被包裹但仍然不适合,那么请“elipsize-d”。我不介意是否存在其他类型的视图而不是LinearLayout的解决方案。 xml会比java解决方案更好。
答案 0 :(得分:0)
您正在寻找的是在任何默认Android布局中原生不存在的布局行为,您必须选择RelativeLayout / LinearLayout并以编程方式检查可用空间并进行正确的计算以验证不同的您想要涵盖的场景或创建自定义ViewGroup。
然而,最近我正在阅读一本书“Android Experts,Apress Editorial”,他们解释了如何创建一个完全按照你想要的方式运行的自定义布局,我不想粘贴他们如何做到这一点的代码这里因为可能存在版权问题,但是第63页,非常简单,但需要对Android视图/布局有完美的理解。
希望它有帮助!
问候!