0
我正在制作迷你书签应用程序。这个想法是用存储在浏览器书签数据库中的网站的图标填充相对布局。我从数据库中提取blob图像,并使用Drawable.createFromStream方法将它们转换为drawable。我怎样才能正确地确定这些图像的大小,因为目前它们很小?我的另一个问题是相对布局。我怎样才能正确使用图标填充水平区域,所以当它到达屏幕的末尾时,他们会换行?如何在所有屏幕上正确调整imageview的大小?
这里是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScrollView scrollView = new ScrollView(this);
RelativeLayout relativeLayout = new RelativeLayout(this);
ImageView bookmark;
scrollView.addView(relativeLayout);
this.startManagingCursor(cursor);
Uri Bookmarks = Browser.BOOKMARKS_URI;
cursor = managedQuery(
Bookmarks, projection, selection, null, Browser.BookmarkColumns.VISITS + " DESC");
if (cursor.moveToFirst()) {
int idCounter = 1;
ByteArrayInputStream blobImage;
do{
bookmark = new ImageView(this);
bookmark.setId(idCounter++);
blobImage = new ByteArrayInputStream(
cursor.getBlob(cursor.getColumnIndex(BookmarkColumns.FAVICON)));
bookmark.setImageDrawable(
Drawable.createFromStream(blobImage, "" + bookmark.getId()));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
if(idCounter > 1) {
params.addRule(RelativeLayout.BELOW, bookmark.getId() - 1);
}
relativeLayout.addView(bookmark, params);
} while (cursor.moveToNext());
}
this.setContentView(scrollView);
}
}