Android 将ImageView放置在ImageView的顶部

Android 将ImageView放置在ImageView的顶部,android,android-layout,Android,Android Layout,我已经查看了这里的其他链接,但没有一个有效。我有一个LinearLayout(主容器是RelativeLayout),然后在LinearLayout内有一个ImageView和ImageView。我试图在主ImageView内容的顶部放置一个播放按钮 以下是线性布局: <LinearLayout android:orientation="horizontal" android:id="@+id/attach_previews_facebook" android:paddingLeft="6

我已经查看了这里的其他链接,但没有一个有效。我有一个LinearLayout(主容器是RelativeLayout),然后在LinearLayout内有一个ImageView和ImageView。我试图在主ImageView内容的顶部放置一个播放按钮

以下是线性布局:

<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>


布局权重除了将“播放”按钮放在“附加预览”1的旁边(而不是放在它的顶部)之外,什么都不做。

请查看
框架布局
。此
ViewGroup
将所有
视图堆叠在彼此的顶部

见:

注意:对于此类任务,我强烈建议使用
ImageButton
或无边框按钮,而不是
ImageView

更多信息:

示例代码:

<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>
<?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>
<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />

看看
框架布局
。此
ViewGroup
将所有
视图堆叠在彼此的顶部

见:

注意:对于此类任务,我强烈建议使用
ImageButton
或无边框按钮,而不是
ImageView

更多信息:

示例代码:

<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>
<?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>
<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />

您可以通过
层列表
框架布局
实现这一点:

层列表法 res/drawable/layers.xml:

<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>
<?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>
<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />

此布局XML将绘图应用于视图:

<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>
<?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>
<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />

结果

框架布局法


您可以通过
图层列表
框架布局
实现这一点:

层列表法 res/drawable/layers.xml:

<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>
<?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>
<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />

此布局XML将绘图应用于视图:

<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>
<?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>
<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />

结果

框架布局法


使用框架布局而不是线性布局使用框架布局而不是线性布局