2013-08-29 3 views
0
<LinearLayout 
     android:id="@+id/screenshotlayout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#ffffff" 
     android:layout_weight="4" 
     android:orientation="vertical" > 

     <GridView 
      android:id="@+id/gridview" 
      android:background="#ffffff" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:columnWidth="320dp" 
      android:gravity="center" 
      android:numColumns="1" 
      android:verticalSpacing="5dp" /> 

     <TextView 
      android:id="@+id/editText3" 
      android:background="@color/DarkGrey" 
      android:layout_width="fill_parent" 
      android:layout_height="40dp" 
      android:layout_gravity="center_horizontal" 
      android:gravity="bottom" 
      android:text="TextView LinearLayout" 
      android:textSize="20dp" 
      android:textStyle="bold" > 

      <requestFocus /> 
     </TextView> 

    </LinearLayout> 

Это мой макет. Где Gridview работает как вертикальная полоса прокрутки. Я добавляю битмапы динамически к этому Gridview. Размер грибов может отличаться.Макет экрана с сетчатым обзором

ответ

0

Это, как вы можете получить скриншот Bitmap вашего макета:

  1. Добавить идентификатор в макете (мой называется "экран"):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/screen" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <!--//add your buttons, texts, other layouts, etc here--> 

</LinearLayout> 
  1. Вот как можно сделать программный снимок экрана:

View screen = screen = (View) findViewById (R.id.screen);
Просмотреть rootview = screen.getRootView();
rootview.setDrawingCacheEnabled (true);

Bitmap bitmap = rootview.getDrawingCache();

Это сработало для меня. Вы можете использовать метод .setImageBitmap (bitmap) в ImageView для отображения снимка экрана.

+0

Привет Харит спасибо за ваш ответ :-). Как я уже сказал, я могу сделать снимок экрана с макетом или прокруткой и gridview. Здесь, в моем приложении, я хочу сделать снимок экрана gridview с текстом, который ниже gridview. Gridview работает как вертикальное scrollview. Я не могу поместить textview внутри Gridview. Gridview - это виджет. – Gururak

+0

Я уверен, что если ваши GridView и TextView находятся внутри LinearLayout, вы можете добавить ID в LinearLayout, а затем сделать снимок экрана как GridView, так и TextView с помощью ID LinearLayout. – Harith

+0

Высота линейной компоновки постоянна. если я возьму снимок экрана линейного макета, он даст экранный снимок, который появляется на экране, но сетка содержит больше восьми символов экрана. Gridview работает как вертикальная полоса прокрутки внутри линейной компоновки. – Gururak

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