我有一张背景图片,它的中心是另一张较小的照片。我想在较小的图片(middle_image)下方添加一些文字。但是这个文本不应该在背景图像的底部。这是一个链接,显示了我希望最终结果如何:http://postimg.org/image/6ft6tgamd/
<FrameLayout
android:id="@+id/messageSource"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="#ff0000">
<ImageView
android:id="@+id/background_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bg_image" />
<eCity.Mobile.Android.CircularImageView
android:id="@+id/middle_image"
android:layout_gravity="center"
android:layout_width="75dp"
android:layout_height="75dp"
android:src="@drawable/middle_image" />
</FrameLayout>
答案 0 :(得分:0)
为此目的,有LinearLayout
(或RelativeLayout
)。
而且,您不必使用独立ImageView
作为背景图片。 ViewGroups
(LinearLayout
或FrameLayout
等)可以设置背景本身。
<LinearLayout
android:id="@+id/messageSource"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
android:background="@drawable/bg_image" />
<eCity.Mobile.Android.CircularImageView
android:id="@+id/middle_image"
android:layout_width="75dp"
android:layout_height="75dp"
android:src="@drawable/middle_image" />
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text1" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text2" />
</LinearLayout>
答案 1 :(得分:0)
官方文件表示 -
FrameLayout旨在阻挡屏幕上要显示的区域 单个项目。通常,FrameLayout应该用于保存单个 子视图,因为它可能很难组织子视图 在没有孩子的情况下可以扩展到不同屏幕尺寸的方式 相互重叠。但是,您可以将多个子项添加到a FrameLayout并控制它们在FrameLayout中的位置 为每个孩子分配重力。
更好的选择是选择一个RelativeLayout
,你可以像这样调整你的代码 -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@android:color/holo_blue_bright"
android:padding="16dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/ic_launcher" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#c6727272" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/profileImage"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/date"
android:layout_centerHorizontal="true"
android:text="HIgh School Reunion Dinner"
android:textColor="@android:color/holo_blue_bright"
android:textSize="18sp" />
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/venue"
android:layout_centerHorizontal="true"
android:text="June 25 , 8:00PM"
android:textColor="@android:color/holo_blue_bright"
android:textSize="16sp" />
<TextView
android:id="@+id/venue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Cafe Ruby's,DMA Square"
android:textColor="@android:color/holo_blue_bright" />
</RelativeLayout>
</RelativeLayout>