为此,我使用以下布局:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white">
<ImageView
android:id="@+id/news_image0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/news_cell0_imageview_min_height"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
<RelativeLayout
android:id="@+id/news0_cell_image_overlay_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/news_image0"
android:layout_alignTop="@+id/news_image0"
android:layout_alignLeft="@+id/news_image0"
android:layout_alignStart="@+id/news_image0"
android:layout_alignEnd="@+id/news_image0"
android:layout_alignRight="@+id/news_image0"
android:background="@drawable/news_cell0_overlay_gradient">
<TextView
android:id="@+id/news_title0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center_vertical|start"
android:layout_alignParentBottom="true"
android:maxLines="3"
android:ellipsize="end"
android:textColor="@color/colorNewsCellType0TitleText"
android:layout_margin="@dimen/news_cell0_textview_margin"
android:textSize="@dimen/news_cell0_title_text_size"
android:typeface="monospace" />
</RelativeLayout>
</RelativeLayout>
进入ImageView我正在使用Picasso从URL加载图像。我在大多数设备上都能正确输出,但是在运行android比Lollipop少的一些设备中,这显示如下截图。文本显示在顶部,而不是底部。但是我为TextView设置了android:layout_alignParentBottom="true"
。 RelativeLayout
被正确渲染,它适合图像(它有一个背景渐变,可以在图像的底部清晰地看到)。
导致此问题的原因是什么?如何解决?
答案 0 :(得分:2)
您可以尝试 FRAMELAYOUT
FrameLayout旨在阻挡屏幕上要显示的区域 单个项目。通常,FrameLayout应该用于保存单个 子视图,因为它可能很难组织子视图 在没有孩子的情况下可以扩展到不同屏幕尺寸的方式 相互重叠。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:src="@drawable/ic_launcher"
android:scaleType="fitCenter"
android:layout_height="fill_parent"
android:layout_width="fill_parent"/>
<TextView
android:text="Hi.."
android:textSize="17sp"
android:textStyle="bold"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:gravity="center|bottom"/>
</FrameLayout>
答案 1 :(得分:1)
您可以尝试这种布局,
<?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="wrap_content"
android:background="@android:color/white">
<ImageView
android:id="@+id/news_image0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="100dp"
android:scaleType="fitXY"/>
<TextView
android:id="@+id/news_title0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/news_image0"
android:layout_centerHorizontal="true"
android:ellipsize="end"
android:maxLines="3"
android:padding="12dp"
android:text="fsdsdfdsdsfsdfsdf"
android:textColor="#f00"
android:typeface="monospace"/>
</RelativeLayout>