Установите фон RelativeLayout с загруженным изображением с помощью универсального загрузчика изображений

Я хотел бы установить изображение (загруженное из Интернета) в качестве фона Relative Layout с прозрачным атрибутом.

Ниже приводится то, что у меня есть в файле layout.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:id="@+id/mainLayout" android:alpha="0.75" > .... </RelativeLayout> 

Это то, что я пытаюсь сделать из деятельности:

  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initializeImageLoader(); String imageUri = "http://www.laederach.com/fileadmin/img/filialen/zermatt/zermattBg.jpg"; Bitmap bitmap = imageLoader.loadImageSync(imageUri1); relativeLayout = (RelativeLayout)findViewById(R.id.mainLayout); Drawable d =new BitmapDrawable(getResources(),bitmap); relativeLayout.setBackground(new BitmapDrawable(bitmap)); } private void initializeImageLoader() { // Create global configuration and initialize ImageLoader with this configuration ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) .build(); ImageLoader.getInstance().init(config); } 

Но это не работает. Любая идея, почему это не работает или что мне не хватает? Благодарю.

Используйте эту библиотеку: –

https://github.com/nostra13/Android-Universal-Image-Loader/

В нем есть образец, и это неплохая библиотека. Ниже приведена основная идея его использования: – Обратитесь к образцу библиотеки для более: –

 ImageLoader imageLoader = ImageLoader.getInstance(); DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_stub) .showImageForEmptyUri(R.drawable.ic_empty) .showImageOnFail(R.drawable.ic_error) .cacheInMemory(true) .cacheOnDisc(true) .considerExifParams(true) .displayer(new RoundedBitmapDisplayer(20)) .build(); imageview = (ImageView)findViewById(R.id.imageView1); imageLoader.displayImage(imageUri[position], imageView, options, animateFirstListener); //Inner class to animate pics to display private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener { static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>()); @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { if (loadedImage != null) { ImageView imageView = (ImageView) view; boolean firstDisplay = !displayedImages.contains(imageUri); if (firstDisplay) { FadeInBitmapDisplayer.animate(imageView, 500); displayedImages.add(imageUri); } } } } 

Это происходит, вероятно, из-за того, что вы пытаетесь использовать сетевое соединение для первичной нити. Попробуйте использовать что-то вроде этого:

  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initializeImageLoader(); String imageUri = "http://www.laederach.com/fileadmin/img/filialen/zermatt/zermattBg.jpg"; new AsyncTask <Void, Void, Void> () { @Override protected Void doInBackground(Void...params) { Bitmap bitmap = imageLoader.loadImageSync(imageUri1); return null; } protected void onPostExecute(Void result) { relativeLayout = (RelativeLayout) findViewById(R.id.mainLayout); Drawable d = new BitmapDrawable(getResources(), bitmap); relativeLayout.setBackground(new BitmapDrawable(bitmap)); }; }.execute(); } private void initializeImageLoader() { // Create global configuration and initialize ImageLoader with this configuration ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) .build(); ImageLoader.getInstance().init(config); } 
Intereting Posts
Как рассчитать расстояние во время ходьбы в андроиде? Android Blur View (размытие фона за представлением) Ошибка «Вы не должны вызывать setTag () при просмотре. Glide нацеливается на« когда используется Glide Как применить фильтрацию видео в Android? Android: сохранение информации для пробного приложения Как поместить <Spanned> в list.setAdapter? Как отправить событие указателя в Android Рекламные объявления Google DFP отображаются случайным образом, хотя к ним применяются теги Как создать настраиваемую панель выполнения Circle на Android UI Automator в проекте с minSdkVersion 9 Заголовок «Атрибут» уже определен »после добавления после добавления поддержки android-v7-appcompat Является ли уведомление FCM надежным или нет в андроиде? Проверить, что Android apk не был повторно упакован? Навигационный ящик отключает обратное просмотрение при открытии ящика Добавление нескольких маркеров в Google Maps Api v2