2014-01-22 3 views
0

EDIT Пожалуйста, просмотрите нижнюю часть этого вопроса, где написано EDIT. Потому что я решил проблему, переместив <com.edmodo.cropper.CropImageView из внутреннего макета, в корневую компоновку. Но теперь мне все равно нужно получить добавленные детские представления во внутренний макет под названием «Платье», чтобы получить их на скриншоте. Благодарю.Добавить View to RelativeLayout в OnCreate()

Я делаю снимок экрана RelativeLayout. На скриншоте должен отображаться только размер ImageView, который находится внутри RelativeLayout. Причина, по которой я не могу сделать снимок экрана самого 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(); 
    } 

EDIT: я не получаю мнения ребенка в скриншоте. Раньше я делал снимок экрана RootView, чтобы получить их, но я не хочу панели действий, поэтому мне нужно сделать снимок экрана из inner relativeLayout. Но, как вы можете видеть, что я добавить вид ребенка к Rootview так:

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

Могу ли я изменить это, чтобы добавить их к моему RelativeLayout под названием «платье»?

Благодаря

ответ

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" /> 
+0

Спасибо, Теперь я обновил вопрос, в чем проблема, и указав свою новую проблему. Извините, что сейчас меняю вопрос. – user3164083

+0

означает, что вы не получили CropImageView m i right .. ?? –

+0

Нет, у меня есть это. PhotoSortr - это то, что я не получаю в правильной компоновке. Я попытаюсь добавить это через XML сейчас, в свое платье RelativeLayout. – user3164083

0

андроид: отступ = "10dp" удалить эту строку из вашей XML-коды ImageView ...

+0

Спасибо, теперь я обновил вопрос, в чем проблема, и указав свою новую проблему. Извините, что сейчас меняю вопрос. Я сделал это примерно в то же время, когда вы ответили – user3164083

Смежные вопросы