mig*_*aus 5 xml android android-layout
我有一个ListView
显示一堆家庭作业.这些ListView
项目使用a FrameLayout
来定位两个TextViews
.第一个TextView
与左侧对齐,第二个与右侧对齐.(两者在垂直中心对齐.)第一个显示分配描述的片段,第二个显示截止日期.
我想要做的是使截止日期占用所需的空间,描述填满剩余的空间,如下所示:
| ------------------------------------------------- --- |
| 阅读第15-35页,更新时间... 5月4日星期五|
| ------------------------------------------------- --- |
现在,描述文本将继续与日期重叠.它虽然会在行尾截断.
无论如何我可以用XML做到这一点,或者我必须在设置TextView
值之前通过缩短字符串来做代码(大概是在我的getView
调用中)?如果我在代码中完成它,我必须计算字符串将占用的水平空间量,以确定描述需要多短.这似乎可能会变得混乱......
关于如何实现这一点的任何其他建议非常感谢!
Chr*_*CVB 12
尝试使用ellipsize属性,如:
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"/>
Run Code Online (Sandbox Code Playgroud)
请注意,Android或至少某些版本需要"ellipsize"和"singleline"属性,以便系统实际执行截断并添加省略号.
而不是FrameLayout,这是一个LinearLayout或RelativeLayout与ellipsize结合使用的理想场所:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
...
android:width="0dp"
android:height="wrap_content"
android:layout_weight="1"
android:ellipsize="end" />
<TextView
...
android:width="wrap_content"
android:height="wrap_content"
android:layout_weight="0" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
或者交替
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
...
android:id="@+id/secondTV"
android:width="wrap_content"
android:height="wrap_content"
android:layout_weight="0" />
<TextView
...
android:width="0dp"
android:height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/secondTV"
android:ellipsize="end"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7720 次 |
最近记录: |