相对布局 TextView 叠加
这是我当前的 ListView 项目布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="6dp"
android:paddingRight="6dp"
android:paddingBottom="6dp">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="6dp">
<TextView
android:id="@+id/departure_line"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:singleLine="true"
android:textSize="16sp"
android:textStyle="bold"
android:shadowColor="#000000"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="1"
android:paddingLeft="3dp"
android:paddingRight="3dp" />
</RelativeLayout>
<TextView
android:id="@+id/departure_destination"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="52dp"
android:background="#777777"
android:singleLine="true"
android:ellipsize="end"
android:textSize="16sp" />
<TextView
android:id="@+id/departure_time"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:textSize="16sp" />
</RelativeLayout>
我的问题是目标 TextView 覆盖了时间 TextView,正如您在屏幕上看到的那样。如何预防呢?
This is my current ListView item layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="6dp"
android:paddingRight="6dp"
android:paddingBottom="6dp">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="6dp">
<TextView
android:id="@+id/departure_line"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:singleLine="true"
android:textSize="16sp"
android:textStyle="bold"
android:shadowColor="#000000"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="1"
android:paddingLeft="3dp"
android:paddingRight="3dp" />
</RelativeLayout>
<TextView
android:id="@+id/departure_destination"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="52dp"
android:background="#777777"
android:singleLine="true"
android:ellipsize="end"
android:textSize="16sp" />
<TextView
android:id="@+id/departure_time"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:textSize="16sp" />
</RelativeLayout>
My problem is that the destination TextView overlays the time TextView as you can see on the screen. How to prevent that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在您的目的地中使用 android:layout_toLeftOf="@+id/departure_time" 或者您可以在 TableLayout> 中设置它们
Use android:layout_toLeftOf="@+id/departure_time" in your destination or you could set them both up in a TableLayout>
使用属性:
android:layout_below="@id/label"
您可以在一个相对布局中执行此操作。并从您的RelativeLayout中删除orientation属性,它是没有用的。
您可以执行以下操作:
Use the attribute:
android:layout_below="@id/label"
You can do this in one Relativelayout. And remove the orientation attribute from your RelativeLayout, it is useless.
You can do following:
如果文本太长,这会截断文本。或者你可以这样做
,它会像 Android 市场中的应用程序名称一样滚动。有时你必须把它扔
在那里才能工作,我也建议
这样它继续移动,以防用户第一次错过它。
如布局技巧中所示,TextView 椭圆大小
this will cut the text off if it is too long. or you can do
and it will scroll like app names in android market. sometimes you have to throw
in there for it to work, also i would reccomend
so that it continues moving in case the user missed it the first time.
as seen in Layout Tricks,TextView ellipsize