ListVIew项的位图

时间:2015-04-14 14:44:04

标签: android android-listview android-bitmap

如何在ListView中创建项目的一部分BitMap。

我的ListView的每个项目都有4个组件,2个TextView和2个Button。 我想在点击Button时只用2 TextView创建一个BitMap。

Here an image to describe my need

2 个答案:

答案 0 :(得分:0)

您需要的是列表适配器。 看看本教程部分" 3。自定义适配器实现"

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

答案 1 :(得分: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);}
}