在OnCreate()中向RelativeLayout添加视图

时间:2014-01-22 04:32:19

标签: android android-layout

编辑请查看此问题的底部,其中显示编辑。因为我通过将<com.edmodo.cropper.CropImageView从内部布局移动到根布局来解决问题。但是现在我仍然需要将添加的子视图添加到名为“Dress”的内部布局中,以便在屏幕截图中显示它们。感谢。

我拍摄了RelativeLayout的截图。屏幕截图必须仅显示RelativeLayout内部的ImageView的大小。我无法截取ImageView本身的截图是因为我有其他的子视图被添加到需要在屏幕截图中的ImageView之上。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:longClickable="true"
    android:onClick="deleteImage"
    android:background="@android:color/transparent" 
    tools:context=".DressingRoomActivity" >

    <RelativeLayout
        android:id="@+id/Dress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent" >

    <com.edmodo.cropper.CropImageView 
    xmlns:custom="http://schemas.android.com/apk/res-auto"
    android:id="@+id/CropImageView"
    android:background="@android:color/transparent" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/imageViewDress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:adjustViewBounds="true"
        android:background="#00CED1"
        android:padding="10dp"
        android:scaleType="centerInside" />

    </RelativeLayout>
</RelativeLayout>

我的代码采取截图:

public Bitmap takeScreenshot() {
        View v = findViewById(R.id.Dress);
        v.setDrawingCacheEnabled(true);
        return v.getDrawingCache();
    }

编辑:我没有在截图中看到子视图。我曾经截取活动的RootView截图来获取它们,但我不想要动作栏,所以我需要截取内部relativeLayout的截图。但正如您所看到的,我将子视图添加到Rootview中,如下所示:

photoSorter = new MultitouchImagesView(this.getApplicationContext());
            RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            addContentView(photoSorter, params);

我可以更改它以将它们添加到名为“Dress”的RelativeLayout吗?

由于

2 个答案:

答案 0 :(得分:2)

从ImageView中移除填充属性并将ScalType更改为android:scaleType="fitXY"

<ImageView
    android:id="@+id/imageViewDress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:adjustViewBounds="true"
    android:background="#00CED1"
    android:scaleType="fitXY" />

答案 1 :(得分:0)

android:padding =“10dp”从xml imageview代码中删除此行...