Bagikan melalui


Menggunakan Xamarin.Android Designer

Artikel ini adalah panduan Xamarin.Android Designer. Ini menunjukkan cara membuat antarmuka pengguna untuk aplikasi browser warna kecil; antarmuka pengguna ini dibuat sepenuhnya di Perancang.

Gambaran Umum

Antarmuka pengguna Android dapat dibuat secara deklaratif dengan menggunakan file XML atau secara terprogram dengan menulis kode. Xamarin.Android Designer memungkinkan pengembang untuk membuat dan memodifikasi tata letak deklaratif secara visual, tanpa memerlukan pengeditan tangan file XML. Perancang juga memberikan umpan balik real time yang memungkinkan pengembang mengevaluasi perubahan UI tanpa harus menyebarkan ulang aplikasi ke perangkat atau ke emulator. Fitur Desainer ini dapat mempercepat pengembangan UI Android dengan sangat baik. Artikel ini menunjukkan cara menggunakan Xamarin.Android Designer untuk membuat antarmuka pengguna secara visual.

Tip

Rilis Visual Studio yang lebih baru mendukung pembukaan file .xml di dalam Android Designer.

File .axml dan .xml didukung di Android Designer.

Panduan

Tujuan dari panduan ini adalah untuk menggunakan Android Designer untuk membuat antarmuka pengguna untuk contoh aplikasi browser warna. Aplikasi browser warna menyajikan daftar warna, namanya, dan nilai RGB-nya. Anda akan mempelajari cara menambahkan widget ke Permukaan Desain serta cara menata widget ini secara visual. Setelah itu, Anda akan mempelajari cara memodifikasi widget secara interaktif di Permukaan Desain atau dengan menggunakan panel Properti Desainer. Terakhir, Anda akan melihat tampilan desain saat aplikasi berjalan di perangkat atau emulator.

Membuat produk baru

Langkah pertama adalah membuat proyek Xamarin.Android baru. Luncurkan Visual Studio, klik Proyek Baru..., dan pilih templat Aplikasi Android Visual C# > Android > (Xamarin). Beri nama aplikasi baru DesignerWalkthrough dan klik OK.

Android blank app

Dalam dialog Aplikasi Android Baru, pilih Aplikasi Kosong dan klik OK:

Selecting the Android Blank App template

Menambahkan tata letak

Langkah selanjutnya adalah membuat LinearLayout yang akan menyimpan elemen antarmuka pengguna. Klik kanan Sumber Daya/tata letak di Penjelajah Solusi dan pilih Tambahkan > Item Baru.... Dalam dialog Tambahkan Item Baru, pilih Tata Letak Android. Beri nama file list_item dan klik Tambahkan:

New layout

Tata letak list_item baru ditampilkan di Perancang. Perhatikan bahwa dua panel ditampilkan – Permukaan Desain untuk list_item terlihat di panel kiri saat sumber XML-nya ditampilkan di panel kanan. Anda bisa menukar posisi panel Permukaan Desain dan Sumber dengan mengklik ikon Tukar Panel yang terletak di antara dua panel:

Designer view

Dari menu Tampilan, klik Kerangka Dokumen Windows > Lainnya untuk membuka Kerangka Dokumen. Kerangka Dokumen menunjukkan bahwa tata letak saat ini berisi satu widget LinearLayout:

Document outline

Langkah selanjutnya adalah membuat antarmuka pengguna untuk aplikasi browser warna dalam ini LinearLayout.

Membuat antarmuka pengguna Item Daftar

Jika panel Kotak Alat tidak ditampilkan, klik tab Kotak Alat di sebelah kiri. Di Kotak Alat, gulir ke bawah ke bagian Gambar & Media dan gulir ke bawah lebih lanjut hingga Anda menemukan ImageView:

Locate ImageView

Secara bergantian, Anda dapat memasukkan ImageView ke bilah pencarian untuk menemukan ImageView:

ImageView search

Seret ini ImageView ke Permukaan Desain (ini ImageView akan digunakan untuk menampilkan swatch warna di aplikasi browser warna):

ImageView on canvas

Selanjutnya, seret LinearLayout (Vertical) widget dari Kotak Alat ke Perancang. Perhatikan bahwa kerangka biru menunjukkan batas-batas yang ditambahkan LinearLayout. Kerangka Dokumen menunjukkan bahwa ini adalah anak dari LinearLayout, yang terletak di bawah imageView1 (ImageView):

Blue outline

Saat Anda memilih ImageView di Perancang, kerangka biru bergerak untuk mengelilingi ImageView. Selain itu, pilihan berpindah ke imageView1 (ImageView)dalam Kerangka Dokumen:

Select ImageView

Selanjutnya, seret Text (Large) widget dari Kotak Alat ke dalam yang baru ditambahkan LinearLayout. Perhatikan bahwa Perancang menggunakan sorotan hijau untuk menunjukkan di mana widget baru akan dimasukkan:

Green highlights

Selanjutnya, tambahkan Text (Small) widget di bawah Text (Large) widget:

Add small text widget

Pada titik ini, permukaan Perancang harus menyerupai cuplikan layar berikut:

Screenshot shows the Designer surface with Toolbox, Document Outline, and layout area with small text selected.

Jika dua textView widget tidak berada di dalam linearLayout1, Anda dapat menyeretnya ke linearLayout1 dalam Kerangka Dokumen dan memosisikannya sehingga muncul seperti yang ditunjukkan pada cuplikan layar sebelumnya (diindentasi di bawah linearLayout1).

Mengatur antarmuka pengguna

Langkah selanjutnya adalah memodifikasi UI untuk menampilkan ImageView di sebelah kiri, dengan dua TextView widget yang ditumpuk di sebelah kanan ImageView.

  1. Pilih ImageView.

  2. Di jendela Properti, masukkan lebar di kotak pencarian dan temukan Lebar Tata Letak.

  3. Ubah pengaturan Lebar Tata Letak menjadi wrap_content:

Set wrap content

Cara lain untuk mengubah Width pengaturan adalah dengan mengklik segitiga di sisi kanan widget untuk mengalihkan pengaturan lebarnya ke wrap_content:

Drag to set width

Mengklik segitiga kembali mengembalikan Width pengaturan ke match_parent. Selanjutnya, buka panel Kerangka Dokumen dan pilih akar LinearLayout:

Select root LinearLayout

Dengan akar LinearLayout dipilih, kembali ke panel Properti , masukkan orientasi ke dalam kotak pencarian dan temukan pengaturan Orientasi . Ubah Orientasi menjadi horizontal:

Select horizontal orientation

Pada titik ini, permukaan Perancang harus menyerupai cuplikan layar berikut. Perhatikan bahwa TextView widget telah dipindahkan ke sebelah kanan ImageView:

Screenshot shows the Designer surface with Toolbox, Document Outline, and layout area.

Mengubah penspasian

Langkah selanjutnya adalah memodifikasi pengaturan padding dan margin di UI untuk memberikan lebih banyak ruang di antara widget. Pilih pada ImageView permukaan Desain. Di panel Properti , masukkan min di kotak pencarian. Masukkan 70dp untuk Tinggi Min dan 50dp untuk Lebar Min:

Set height and width

Di panel Properti , masukkan padding di kotak pencarian dan masukkan 10dp untuk Padding. Pengaturan , dan paddingminWidth ini minHeightmenambahkan padding di semua sisi dan memanjangkannya ImageView secara vertikal. Perhatikan bahwa XML tata letak berubah saat Anda memasukkan nilai-nilai ini:

Set padding

Pengaturan padding bawah, kiri, kanan, dan atas dapat diatur secara independen dengan memasukkan nilai ke bidang Padding Bottom, Padding Left, Padding Right, dan Padding Top . Misalnya, atur bidang Padding Left ke 5dp dan bidang Padding Bawah, Padding Kanan, dan Padding Atas ke 10dp:

Custom padding settings

Selanjutnya, sesuaikan posisi LinearLayout widget yang berisi dua TextView widget. Di Kerangka Dokumen, pilih linearLayout1. Di jendela Properti , masukkan margin di kotak pencarian. Atur Margin Tata Letak Bawah, Margin Tata Letak Kiri, dan Margin Tata Letak Atas ke 5dp. Atur Margin Tata Letak Kanan ke 0dp:

Set margins

Menghapus gambar default

ImageView Karena sedang digunakan untuk menampilkan warna (bukan gambar), langkah selanjutnya adalah menghapus sumber gambar default yang ditambahkan oleh templat.

  1. Pilih pada ImageView Permukaan Perancang.

  2. Di Properti, masukkan src di kotak pencarian.

  3. Klik persegi kecil di sebelah kanan pengaturan properti Src dan pilih Reset:

Clear the ImageView src setting

Ini menghapus android:src="@android:drawable/ic_menu_gallery" dari XML sumber untuk itu ImageView.

Menambahkan kontainer ListView

Sekarang setelah tata letak list_item ditentukan, langkah selanjutnya adalah menambahkan ListView ke tata letak Utama. Ini ListView akan berisi daftar list_item.

Di Penjelajah Solusi, buka Sumber Daya/tata letak/activity_main.axml. Di Kotak Alat, temukan ListView widget dan seret ke Permukaan Desain. ListView di Perancang akan kosong kecuali untuk garis biru yang menguraikan batasnya saat dipilih. Anda bisa melihat Kerangka Dokumen untuk memverifikasi bahwa ListView telah ditambahkan dengan benar:

New ListView

Secara default, ListView diberikan Id nilai @+id/listView1. Saat listView1 masih dipilih di Kerangka Dokumen, buka panel Properti , klik Susun menurut, dan pilih Kategori. Buka Utama, temukan properti Id , dan ubah nilainya menjadi @+id/myListView:

Rename id to myListView

Pada titik ini, antarmuka pengguna siap digunakan.

Menjalankan aplikasi

Buka MainActivity.cs dan ganti kodenya dengan yang berikut:

using Android.App;
using Android.Widget;
using Android.Views;
using Android.OS;
using Android.Support.V7.App;
using System.Collections.Generic;

namespace DesignerWalkthrough
{
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : AppCompatActivity
    {
        List<ColorItem> colorItems = new List<ColorItem>();
        ListView listView;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);
            listView = FindViewById<ListView>(Resource.Id.myListView);

            colorItems.Add(new ColorItem()
            {
                Color = Android.Graphics.Color.DarkRed,
                ColorName = "Dark Red",
                Code = "8B0000"
            });
            colorItems.Add(new ColorItem()
            {
                Color = Android.Graphics.Color.SlateBlue,
                ColorName = "Slate Blue",
                Code = "6A5ACD"
            });
            colorItems.Add(new ColorItem()
            {
                Color = Android.Graphics.Color.ForestGreen,
                ColorName = "Forest Green",
                Code = "228B22"
            });

            listView.Adapter = new ColorAdapter(this, colorItems);
        }
    }

    public class ColorAdapter : BaseAdapter<ColorItem>
    {
        List<ColorItem> items;
        Activity context;
        public ColorAdapter(Activity context, List<ColorItem> items)
            : base()
        {
            this.context = context;
            this.items = items;
        }
        public override long GetItemId(int position)
        {
            return position;
        }
        public override ColorItem this[int position]
        {
            get { return items[position]; }
        }
        public override int Count
        {
            get { return items.Count; }
        }
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            var item = items[position];

            View view = convertView;
            if (view == null) // no view to re-use, create new
                view = context.LayoutInflater.Inflate(Resource.Layout.list_item, null);
            view.FindViewById<TextView>(Resource.Id.textView1).Text = item.ColorName;
            view.FindViewById<TextView>(Resource.Id.textView2).Text = item.Code;
            view.FindViewById<ImageView>(Resource.Id.imageView1).SetBackgroundColor(item.Color);

            return view;
        }
    }

    public class ColorItem
    {
        public string ColorName { get; set; }
        public string Code { get; set; }
        public Android.Graphics.Color Color { get; set; }
    }
}

Kode ini menggunakan adaptor kustom ListView untuk memuat informasi warna dan untuk menampilkan data ini di UI yang baru saja dibuat. Agar contoh ini tetap pendek, informasi warna dikodekan secara permanen dalam daftar, tetapi adaptor dapat dimodifikasi untuk mengekstrak informasi warna dari sumber data atau untuk menghitungnya dengan cepat. Untuk informasi selengkapnya tentang ListView adaptor, lihat ListView.

Membuat dan menjalankan aplikasi. Cuplikan layar berikut adalah contoh bagaimana aplikasi muncul saat berjalan di perangkat:

Final screenshot

Ringkasan

Artikel ini menjelaskan proses penggunaan Xamarin.Android Designer di Visual Studio untuk membuat antarmuka pengguna untuk aplikasi dasar. Ini menunjukkan cara membuat antarmuka untuk satu item dalam daftar, dan menggambarkan cara menambahkan widget dan meletakkannya secara visual. Ini juga menjelaskan cara menetapkan sumber daya dan kemudian mengatur berbagai properti pada widget tersebut.