Xamarin – Android – ImageView kullanımı(Url resmini gösterme)

11 Tem

Bugün sizlere, ImageView kullanımından bahsedeceğim.

ImageView nesnesi adından da anlaşılacağı üzre resimleri göstermemize yarıyor. Bu yazımda URL’de ki görselleri nasıl gösteririz onu anlatacağım aslında.
Mesela google arama sonuçlarından bir resim çekip listelemek istiyorsanız aşağıda ki kodlar işinizi görecektir.

Ben örnek olarak benim tv tasmania programımda ki resmi listeleyeceğim:Tv Tasmania

ImageView objesini resmi göstermek istediğim sayfama yerleştirdim.


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">

  <ImageView
       android:src="@android:drawable/ic_menu_gallery"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:id="@+id/imgMain" />
  
</RelativeLayout>

Activity dosyamı ise aşağıda ki gibi düzenleyerek URL‘de ki resmi gösterdim.

//semihcelikol.com
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Support.V7.App;
using Android.Graphics;
using System.Net;

namespace ImageViewTest
{
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : AppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            //ImageView'ımı çektim.
            ImageView imgMain = FindViewById<ImageView>(Resource.Id.imgMain);

            //Url'de ki resmi set ettim.
            imgMain.SetImageBitmap(this.GetBitmapFromUrl("http://semihcelikol.com/wp-content/uploads/2018/06/TvTasmaniaGooglePlay.jpg"));
            
        }

        /// <summary>
        /// semihcelikol.com
        /// Url'de ki resmi indirip bitmap olarak döner.
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public Bitmap GetBitmapFromUrl(string url)
        {
            using (WebClient webClient = new WebClient())
            {
                byte[] bytes = webClient.DownloadData(url);

                if (bytes != null && bytes.Length > 0)
                {
                    return BitmapFactory.DecodeByteArray(bytes, 0, bytes.Length);
                }
            }
            return null;
        }
    }
}

Ekran çıktısı;

Bir Cevap Yazın