Android中的图像覆盖图像

时间:2013-04-30 08:14:13

标签: android imageview android-framelayout

我想将Image放在图像,视频拇指和播放图标上。 我想将播放图标放在视频拇指图像的中央。我正在使用FrameLayout,但播放图标不会在中心查看。

我的XML文件..

<FrameLayout
    android:id="@+id/frameLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/imageVideoThumb"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/imagePlayIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/video_play_icon" />
</FrameLayout>

怎么创造它,请帮帮我..

4 个答案:

答案 0 :(得分:3)

试试这个。只需像这样更改到您的XML文件..

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:layout_gravity="center">

     <ImageView
        android:id="@+id/imageVideoThumb"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_gravity="center"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/imagePlayIcon"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="30dp"
        android:src="@drawable/video_play_icon" />
</RelativeLayout>

答案 1 :(得分:1)

您需要使用以下代码:

RelativeLayout rv = (RelativeLayout) findViewById(R.id.my_ph);
RelativeLayout.LayoutParams params;
ImageButton im1 = new ImageButton(this);

im1.setBackgroundResource(R.drawable.lamp);
im1.setId(i);
im1.setOnClickListener(new OnClickListener() {
 public void onClick(View v) {
  TextView tx = (TextView) findViewById(R.id.textView1);
  tx.setText("lamp #" + v.getId());
 }
});

 params = new RelativeLayout.LayoutParams(40, 40);
 params.leftMargin = x;
 params.topMargin = y;
 rv.addView(im1, params);

XML布局:

 <RelativeLayout android:id="@+id/my_ph"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:layout_height="wrap_content"    android:gravity="bottom">
    <ImageView android:id="@+id/image" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_alignParentTop="true"
        android:background="@drawable/map" />
    <TextView android:id="@+id/textView1" android:layout_width="wrap_content"  android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_below="@+id/image" android:layout_alignParentLeft="true"></TextView>

答案 2 :(得分:0)

我认为这应该有效。 使用缩略图作为父布局并设置重力:居中,将播放ImageView放在父布局的中心,其背景设置为缩略图

<FrameLayout
        android:id="@+id/frameLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:id="@+id/imageVideoThumb"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:background="@drawable/ic_launcher" 
            android:gravity="center"/>

        <ImageView
            android:id="@+id/imagePlayIcon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/video_play_icon" />
    </RelativeLayout>
    </FrameLayout>

答案 3 :(得分:0)

您可以设置Gravity的{​​{1}},使其在中心对齐:

ImagesViews