Я делаю мини-приложение закладок.Идея состоит в том, чтобы заполнить относительный макет значками сайтов, которые хранятся в базе данных закладок браузера.Я извлек изображения блобов из базы данных и преобразовал их в drawables, используя метод Drawable.createFromStream.Как я могу правильно подобрать эти изображения, потому что в настоящее время они очень маленькие?Еще одна проблема, которая у меня есть, это относительная компоновка.Как правильно заполнить горизонтальную область значками, чтобы, когда она достигла конца экрана, они перешли в новую строку?
Вот мой код:
@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);
}
}