1

我想把图像放在图像、视频拇指和播放图标上。我想将播放图标放在视频缩略图的中心。我正在为此使用 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

4 回答 4

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>
于 2013-04-30T09:07:37.697 回答
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>

于 2013-04-30T08:18:39.090 回答
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>
于 2013-04-30T08:29:59.617 回答
0

您可以将它们设置GravityImagesViews居中对齐:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    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:layout_gravity="center"
      android:background="@drawable/ic_launcher"  />

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

</FrameLayout>
于 2013-04-30T08:30:30.187 回答