现在我使用canvas(ondraw()
)来绘制我的应用程序的图像,如果我想显示一些
列在我的应用程序的中心。我该怎么办?我有2个想法。
在对话框中添加ListView,但屏幕很暗,我不希望这样。
在LinearLayout中添加ListView并将其设为Bitmap
我无法绘制图像,我的
代码如下:
ListView modeList = new ListView(context);
modeList.setAdapter(new ImageAdapter(context, objects));
linearlayout = new LinearLayout(context);
linearlayout.setOrientation(LinearLayout.VERTICAL);
linearlayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
linearlayout.addView(modeList);
linearlayout.layout(0, 0, 200, 200);
linearlayout.measure((int)Define.getScreenWidth(), (int)Define.getScreenHeight());
linearlayout.setDrawingCacheEnabled(true);
linearlayout.buildDrawingCache(true);
当我画画时
protected void onDraw(Canvas canvas) {
canvas.drawBitmap(linearlayout.getDrawingCache(), 200, 200, null);
}
然而,它什么都没有:(
答案 0 :(得分:1)
第一种方式+1投票。设置对话框样式并禁用深色背景。
第二种方式过于复杂。您最好将listview作为孩子直接添加到当前窗口,因此它将在所有其他视图之上绘制,或者将所有视图放在framelayout中并将listview添加到该framelayout,因此它将位于所有先前添加的视图之上
答案 1 :(得分:1)
第一种方式更好,你可以设置Dialog样式,使其成为无边界和translucenbt背景。查看this链接。