我看过这里的其他链接,但没有一条有效。我有一个LinearLayout (主容器是一个RelativeLayout),然后在LinearLayout中有一个ImageView和ImageView。我正在尝试在主ImageView内容之上放置一个play按钮。
下面是LinearLayout:
<LinearLayout android:orientation="horizontal" android:id="@+id/attach_previews_facebook" android:paddingLeft="64.0dip" android:layout_width="fill_parent" android:layout_height="150dip" android:layout_marginRight="8.0dip" android:layout_below="@id/attach_articles">
<ImageView android:id="@+id/attach_preview_1" android:visibility="visible"
android:layout_width="fill_parent" android:layout_height="match_parent"
android:scaleType="center"
android:layout_weight="1"/>
<ImageView android:id="@+id/videobtn" android:visibility="visible"
android:layout_width="fill_parent" android:layout_height="match_parent"
android:scaleType="center"
android:layout_weight="1"
android:background="@drawable/play_button"/>
</LinearLayout>layout_weight除了在attach_preview_1旁边放置play按钮之外什么也不做(而不是在它的顶部)。
发布于 2014-11-15 16:41:16
看看FrameLayout。这个ViewGroup将所有的Views叠加在一起。
请参阅:http://developer.android.com/reference/android/widget/FrameLayout.html
备注:I强烈建议使用ImageButton或无边界按钮,而不是使用ImageView来完成此类任务。
更多信息:按钮,ImageButton,无边界
示例代码:
<FrameLayout
android:id="@+id/attach_previews_facebook"
android:layout_width="fill_parent"
android:layout_height="150dip"
android:layout_below="@id/attach_articles"
android:layout_marginRight="8.0dip"
android:paddingLeft="64.0dip" >
<ImageView
android:id="@+id/attach_preview_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="center"
android:visibility="visible" />
<ImageView
android:id="@+id/videobtn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/play_button"
android:scaleType="center"
android:visibility="visible" />
</FrameLayout>发布于 2014-11-15 16:44:47
您可以通过一个Layer List或FrameLayout来实现这一点:
图层列表法
res/drawable/layers.xml :
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/android_red"
android:gravity="center" />
</item>
<item android:top="10dp" android:left="10dp">
<bitmap android:src="@drawable/android_green"
android:gravity="center" />
</item>
<item android:top="20dp" android:left="20dp">
<bitmap android:src="@drawable/android_blue"
android:gravity="center" />
</item>
</layer-list>此布局XML将可绘制的XML应用于视图:
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/layers" />结果

FrameLayout方法
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:id="@+id/attach_previews_facebook" android:paddingLeft="64.0dip"
android:layout_width="fill_parent" android:layout_height="150dip" android:layout_marginRight="8.0dip"
>
<ImageView android:id="@+id/attach_preview_1" android:visibility="visible"
android:layout_width="fill_parent" android:layout_height="match_parent"
android:scaleType="center"
android:background="@drawable/iconevaleurs"
android:layout_weight="1"/>
<ImageView android:id="@+id/videobtn" android:visibility="visible"
android:layout_width="127dp" android:layout_height="66dp"
android:scaleType="center"
android:layout_weight="1"
android:background="@drawable/iconevaleurs"
android:layout_gravity="center_horizontal|top" />
</FrameLayout>

https://stackoverflow.com/questions/26948003
复制相似问题