4 Mart 2015 Çarşamba

Genel amaçlı layoutlar

- Linear Layout :

elemanların dikey ya da yatay olarak sıralandığı düzendir.
"android:orientation" attribute ile yön belirtiriz.
pencere ekranı aşarsa scrollbar ekler.
<LinearLayout> tagı ile xml dosyasına yazılır.

- Relative Layout :

Child objelerin diğer child lara ya da parent a göre lokasyon belirleyebilmesini sağlar.
Sağına, soluna, üstüne gibi.
İç içe girme gereğini ortadan kaldırdığından performansı yüksek bir düzendir.
İç içe linear layoutlar oluşmaya başlıyorsa tasarımımızı relative layout a çevirirsek hiyerarşiyi düzleştirerek performansı artırmış oluruz.

Default olarak bütün viewlar sol üstte başlarlar. Bu yüzden hepsine pozisyon belirtmek gerekir.
Layout deklarasyonu sırasının pozisyon sırasına etkisi yoktur.
Örnek layout property leri:
android:layout_alignParentTop : üst kenarı parent a align eder.
android:layout_centerVertical : child i parent a göre dikey olarak ortalar.
android:layout_below  : belirtilenin hemen altına üst kenarı dayar.
android:layout_toRightOf  : sol kenarı belirtilenin hemen sağına dayar.
Bunların değeri boolean ya da ID dir.

Örnek bir relative layout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp" >
    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/reminder" />
    <Spinner
        android:id="@+id/dates"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/times" />
    <Spinner
        android:id="@id/times"
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentRight="true" />
    <Button
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/times"
        android:layout_alignParentRight="true"
        android:text="@string/done" />
</RelativeLayout>

- Web view :
Web application ya da web sayfalarını gösterir.
View classından türemiştir.
Activity layout içerisinde web sayfalarını görüntüler.
Browser gibi ileri-geri vb fonksiyonları yoktur; sadece sayfayı gösterir.
Bir EULA ya da user guide gibi online host edilen bir dokümanı, bir Activity içindeki WebView de gösterebiliriz.
Ya da e-mail gibi devamlı intenetten alınan verilerin gösterilmesi gereken durumlarda kullanılabilir.
Network request gönderip, gelen cevabı parse edip layout ta render etmekten daha kolay olur.
Tam sayfa bir sayfa gösteren örnek:
<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
//Javascript açmak için:
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);

Hiç yorum yok:

Yorum Gönder