2015-04-14 4 views
0

Как создать BitMap части элемента в ListView.Bitmap of ListVIew Item

Каждый элемент моего списка ListView имеет 4 компонента, 2 TextView и 2 кнопки. Я хочу создать BitMap только с 2 TextView при нажатии на кнопку.

Here an image to describe my need

ответ

0

Ваш макет деталь имеет этот компонент: TextView1, TextView2, Button1, Button2. Вы должны поставить TextView1 и TextView2 в макете ребенка, чтобы исключить Button1 + Button2 из растрового изображения, например:

<RelativeLayout> 
    <!-- main item layout --> 
    <RelativeLayout android:id="@+id/relativeLayoutTextViews"> 
     <!-- child layout for TextViews --> 
     <TextView> 
     <!-- text view 1 --> 
     </TextView> 
     <TextView> 
     <!-- text view 2 --> 
     </TextView> 
    </RelativeLayout> 
    <Button> 
    <!-- Button 1 --> 
    </Button> 
    <Button> 
    <!-- Button 2 --> 
    </Button> 
</RelativeLayout> 

И в коде Java:

RelativeLayout layout = (RelativeLayout) findViewById(R.id.relativeLayoutTextViews); 
if (layout != null) { 
    Bitmap image = Bitmap.createBitmap(layout.getWidth(), 
      layout.getHeight(), Config.ARGB_8888); 
    Canvas b = new Canvas(image); 
    Drawable bgDrawable =layout.getBackground(); 
    if (bgDrawable!=null) 
     bgDrawable.draw(canvas); 
    else 
     canvas.drawColor(Color.WHITE); 
    layout.draw(b);} 
} 
+0

thanx это работает, но его задняя поверхность черная –

+0

Я редактирую свой ответ для черного фона – LaurentY

+0

thanx, вы решили мою проблему –

0

Что вам нужно Список адаптеры. Взгляните на этот учебник раздел "3. Пользовательские реализации адаптера"

http://www.vogella.com/tutorials/AndroidListView/article.html

+0

требует растрового изображения пункта списка следует за сохраняя его на SD-карте –

+0

Ах, извините, я удаляю свой ответ. Я вернусь, если я получу представление о том, как это сделать. –