Android 如何将我的文本视图放置在另一个文本视图下?
我正试图将我的Android 如何将我的文本视图放置在另一个文本视图下?,android,android-layout,android-relativelayout,Android,Android Layout,Android Relativelayout,我正试图将我的textview4放在下面,我的sourceNameTextView,但我看不到textview4中的文本?我不熟悉使用相对布局,有人能告诉我为什么会发生这种情况,以及如何修复这种情况吗?我已经试过阅读一些关于stackoverflow的帖子,但是找不到任何可以解决这个问题的东西 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&quo
textview4
放在下面,我的sourceNameTextView
,但我看不到textview4
中的文本?我不熟悉使用相对布局,有人能告诉我为什么会发生这种情况,以及如何修复这种情况吗?我已经试过阅读一些关于stackoverflow的帖子,但是找不到任何可以解决这个问题的东西
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="80dp"
android:layout_marginLeft="18dp"
android:layout_marginRight="18dp"
android:layout_marginBottom="18dp"
android:background="@drawable/gradient"
android:clickable="true"
android:focusable="true"
android:padding="6dip">
<ImageView
android:id="@+id/newsThumbnail"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="6dip"
android:contentDescription="TODO"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/newsBody"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_above="@id/sourceName"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/newsThumbnail"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
android:textSize="16sp" />
<TextView
android:id="@+id/sourceName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10dp"
android:layout_toEndOf="@id/newsThumbnail"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Description"
android:textColor="#9A9CA5"
android:textSize="12sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_toEndOf="@id/newsThumbnail"
android:layout_below="@+id/sourceName"
android:layout_height="wrap_content"
android:text="TextViwew.." />
</RelativeLayout>
您之所以看不到
TextView 4
,是因为您将android:layout\u alignParentBottom=“true”
添加到sourceName
TextView
这意味着您希望将textView4
视图与正好位于父视图底部的视图下方对齐
因此,textView4
将不在屏幕上,或者正确地说,将不在RelativeLayout
(位于其底部)上
要解决此问题,您需要从sourceName
TextView
中删除android:layout\u alignParentBottom=“true”
另外,当您进行此更改时,您会注意到新闻正文
现在已不存在,这是因为您在其中添加了android:layout_over=“@id/sourceName”
,并且没有将sourceName
限制在其底部
您现在可以使用:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginLeft="18dp"
android:layout_marginRight="18dp"
android:layout_marginBottom="18dp"
android:background="@drawable/gradient"
android:clickable="true"
android:focusable="true"
android:padding="6dip">
<ImageView
android:id="@+id/newsThumbnail"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="6dip"
android:contentDescription="TODO"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/newsBody"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_toEndOf="@id/newsThumbnail"
android:layout_toRightOf="@id/newsThumbnail"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
android:textSize="16sp" />
<TextView
android:id="@+id/sourceName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/newsBody"
android:layout_marginBottom="10dp"
android:layout_toEndOf="@id/newsThumbnail"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Description"
android:textColor="#9A9CA5"
android:textSize="12sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/sourceName"
android:layout_toEndOf="@id/newsThumbnail"
android:layout_toRightOf="@id/newsThumbnail"
android:text="TextViwew.." />
</RelativeLayout>
您之所以看不到
TextView 4
,是因为您将android:layout\u alignParentBottom=“true”
添加到sourceName
TextView
这意味着您希望将textView4
视图与正好位于父视图底部的视图下方对齐
因此,textView4
将不在屏幕上,或者正确地说,将不在RelativeLayout
(位于其底部)上
要解决此问题,您需要从sourceName
TextView
中删除android:layout\u alignParentBottom=“true”
另外,当您进行此更改时,您会注意到新闻正文
现在已不存在,这是因为您在其中添加了android:layout_over=“@id/sourceName”
,并且没有将sourceName
限制在其底部
您现在可以使用:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginLeft="18dp"
android:layout_marginRight="18dp"
android:layout_marginBottom="18dp"
android:background="@drawable/gradient"
android:clickable="true"
android:focusable="true"
android:padding="6dip">
<ImageView
android:id="@+id/newsThumbnail"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="6dip"
android:contentDescription="TODO"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/newsBody"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_toEndOf="@id/newsThumbnail"
android:layout_toRightOf="@id/newsThumbnail"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
android:textSize="16sp" />
<TextView
android:id="@+id/sourceName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/newsBody"
android:layout_marginBottom="10dp"
android:layout_toEndOf="@id/newsThumbnail"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Description"
android:textColor="#9A9CA5"
android:textSize="12sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/sourceName"
android:layout_toEndOf="@id/newsThumbnail"
android:layout_toRightOf="@id/newsThumbnail"
android:text="TextViwew.." />
</RelativeLayout>
编辑:正如Zain所说,您的底部对齐,这导致视图将布局从视图中推出。如果你真的不用固定高度,尽量避免固定高度。但不管怎样,我认为使用
LinearLayout
将使您的生活更加轻松,并且在将来编辑代码也会更加容易
您无法查看文本视图
,因为您在相对视图上设置了固定高度。其他布局占用了太多空间,因此您的TextView
位于sourceName
下方,但不可见,因为它不在布局中
要更改此设置,您可以将wrap_content
添加为您的RelativeLayout
的高度。然后,您必须大量使用布局属性才能获得所需的内容。如果只对布局的正确部分使用LinearLayout
,则您要实现的目标会更容易。像这样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="18dp"
android:layout_marginRight="18dp"
android:layout_marginBottom="18dp"
android:clickable="true"
android:focusable="true"
android:padding="6dip">
<ImageView
android:id="@+id/newsThumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginEnd="6dip"
android:contentDescription="TODO"
android:src="@mipmap/ic_launcher" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/newsThumbnail"
android:orientation="vertical">
<TextView
android:id="@+id/newsBody"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:text="NEWS BODY"
android:textSize="16sp" />
<TextView
android:id="@+id/sourceName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Description"
android:textColor="#9A9CA5"
android:textSize="12sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextViwew.." />
</LinearLayout>
</RelativeLayout>
结果如下:
编辑:正如Zain所说,您的底部对齐,这导致视图将布局推出视图。如果你真的不用固定高度,尽量避免固定高度。但不管怎样,我认为使用LinearLayout
将使您的生活更加轻松,并且在将来编辑代码也会更加容易
您无法查看文本视图
,因为您在相对视图上设置了固定高度。其他布局占用了太多空间,因此您的TextView
位于sourceName
下方,但不可见,因为它不在布局中
要更改此设置,您可以将wrap_content
添加为您的RelativeLayout
的高度。然后,您必须大量使用布局属性才能获得所需的内容。如果只对布局的正确部分使用LinearLayout
,则您要实现的目标会更容易。像这样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="18dp"
android:layout_marginRight="18dp"
android:layout_marginBottom="18dp"
android:clickable="true"
android:focusable="true"
android:padding="6dip">
<ImageView
android:id="@+id/newsThumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginEnd="6dip"
android:contentDescription="TODO"
android:src="@mipmap/ic_launcher" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/newsThumbnail"
android:orientation="vertical">
<TextView
android:id="@+id/newsBody"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:text="NEWS BODY"
android:textSize="16sp" />
<TextView
android:id="@+id/sourceName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Description"
android:textColor="#9A9CA5"
android:textSize="12sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextViwew.." />
</LinearLayout>
</RelativeLayout>
结果如下:
我明白了,谢谢你。很高兴我能帮忙。此外,Zain在不使用LinearLayout的情况下为您提供了以下解决方案。只是你的代码非常凌乱,所以试着编写干净的代码,这将在以后的编辑中对你有很大帮助。我明白了,谢谢你,谢谢你。很高兴我能帮上忙。此外,Zain在不使用LinearLayout的情况下为您提供了以下解决方案。只是你的代码非常凌乱,所以试着编写干净的代码,这将在以后的编辑中对你有很大帮助。