【问题标题】:Image over Image in AndroidAndroid中的图像覆盖图像
【发布时间】:2013-04-30 08:14:12
【问题描述】:

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

如何创建它,请帮助我..

【问题讨论】:

  • 是的,因为这不是框架布局的作用。它不会将项目放在中心。然后它位于左上角。

标签: android imageview android-framelayout


【解决方案1】:

试试这个。只需像这样更改您的 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>

【讨论】:

    【解决方案2】:

    您需要使用以下代码:

    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>
    

    【讨论】:

      【解决方案3】:

      我认为这应该可行。 使用您的缩略图作为父布局并设置重力:中心,将播放 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>
      

      【讨论】:

        【解决方案4】:

        您可以将ImagesViewsGravity 设置为居中对齐:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-05-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多