Düzen kaynağı
Düzen kaynağı, Activity
veya
bileşenlerine ayıralım.
- dosya konumu:
res/layout/filename.xml
Dosya adı, kaynak kimliği olarak kullanılır.
- derlenen kaynak veri türü:
- Kaynak işaretçisini bir
View
(veya alt sınıf) kaynağına yönlendirin
- kaynak referansı:
- .
Java'da:
R.layout.filename
XML'de: @[package:]layout/filename
- söz dizimi:
-
<?xml version="1.0" encoding="utf-8"?>
<ViewGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[ViewGroup-specific attributes] >
<View
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[View-specific attributes] >
<requestFocus/>
</View>
<ViewGroup >
<View />
</ViewGroup>
<include layout="@layout/layout_resource"/>
</ViewGroup>
Not: Kök öğe, bir
ViewGroup
, View
veya <merge>
öğesi olabilir, ancak yalnızca
bir kök öğe olmalı ve bu öğe, android
değerine sahip xmlns:android
özelliğini içermelidir
ad alanını kullanın.
- öğeler:
-
<ViewGroup>
- Diğer
View
öğelerinin kapsayıcısıdır. Pek çok
her biri farklı ViewGroup
nesne ekleyebilirsiniz. Bunların her biri
alt öğelerin düzenini farklı şekillerde belirtin. Farklı türde
ViewGroup
nesne şunları içeriyor: LinearLayout
,
RelativeLayout
ve FrameLayout
.
Herhangi bir ViewGroup
türevinin olduğunu varsaymayın
iç içe görünümleri kabul eder. Bazı görünüm grupları
ve bunların dönüşüm oranını belirleyen AdapterView
sınıfının uygulamalarıdır.
sadece Adapter
içindeki alt öğeleridir.
Özellikler:
android:id
- Kaynak Kimliği. Öğe için benzersiz bir kaynak adı.
ile ilgili bilgileri kullanmanızı öneririz.
ViewGroup
Daha fazla
android:id değeri bölümüne bakın.
android:layout_height
- Boyut veya anahtar kelime. Zorunludur. Grubun yüksekliği
boyut değeri (veya
boyut kaynağı) veya bir anahtar kelime
(
"match_parent"
veya "wrap_content"
). Daha fazla bilgi için
android:layout_height ve
android:layout_width bölümüne ekleyin.
android:layout_width
- Boyut veya anahtar kelime. Zorunludur. Grubun genişliği
boyut değeri (veya
boyut kaynağı) veya bir anahtar kelime
(
"match_parent"
veya "wrap_content"
). Daha fazla bilgi için
android:layout_height ve
android:layout_width bölümüne ekleyin.
ViewGroup
temel sınıf daha fazla özelliği destekler ve çok daha fazlası,
ViewGroup
Mevcut tüm özelliklere ilişkin bir referans için
ViewGroup
sınıfı için ilgili referans belgelerine bakın.
örneğin LinearLayout
XML
özellikleri hakkında daha fazla bilgi edinin.
<View>
- Genellikle widget olarak adlandırılan bağımsız bir kullanıcı arayüzü bileşeni. Farklı
View
nesne türü şunları içerir: TextView
,
Button
ve CheckBox
.
Özellikler:
android:id
- Kaynak Kimliği. Öğe için kullanabileceğiniz benzersiz bir kaynak adı
başvurunuzda
View
ile ilgili referans edinin. Daha fazla
android:id değeri bölümüne bakın.
android:layout_height
- Boyut veya anahtar kelime. Zorunludur. Öğenin yüksekliği,
bir boyut değeri (veya
boyut kaynağı) veya bir anahtar kelime
(
"match_parent"
veya "wrap_content"
). Daha fazla bilgi için
android:layout_height ve
android:layout_width bölümüne ekleyin.
android:layout_width
- Boyut veya anahtar kelime. Zorunludur. Öğenin genişliği,
bir boyut değeri (veya
boyut kaynağı) veya bir anahtar kelime
(
"match_parent"
veya "wrap_content"
). Daha fazla bilgi için
android:layout_height ve
android:layout_width bölümüne ekleyin.
View
temel sınıf daha fazla özelliği destekler ve çok daha fazlası,
View
Daha fazla bilgi için Düzenler başlıklı makaleyi okuyun. Örneğin,
tüm kullanılabilir özelliklerin bir referansı,
İlgili referans belgeleri (ör. TextView
XML özellikleri) inceleyin.
<requestFocus>
- Bir
View
nesnesini temsil eden herhangi bir öğe bu boş öğeyi içerebilir.
Bu, üst öğesinin ilk odağının ekrana gelmesini sağlar. Bunlardan yalnızca birini
öğe olması gerekir.
<include>
- Bu düzene bir düzen dosyası ekler.
Özellikler:
layout
- Düzen kaynağı. Zorunludur. Düzene referans verme
gösterir.
android:id
- Kaynak Kimliği. Dahil edilen düzendeki kök görünümüne verilen kimliği geçersiz kılar.
android:layout_height
- Boyut veya anahtar kelime.
dahil edilen düzen. Yalnızca
android:layout_width
de belirtilmişse geçerlidir.
android:layout_width
- Boyut veya anahtar kelime.
dahil edilen düzen. Yalnızca
android:layout_height
de belirtilmişse geçerlidir.
<include>
içine sizin için uygun olan diğer tüm düzen özelliklerini
desteklenen düzendeki kök öğe tarafından desteklenir ve
kök öğedir.
Dikkat: Düzen özelliklerini geçersiz kılmak için
<include>
etiketi için her ikisini de geçersiz kılmanız gerekir
Şu işlem için android:layout_height
ve android:layout_width
:
diğer düzen özelliklerinin geçerli olmasını sağlayın.
Düzen eklemenin bir başka yolu da ViewStub
kullanmaktır: basit bir
bir görünüm oluşturabilirsiniz. Bunu yaptığınızda,
android:layout
özelliği tarafından tanımlanan düzen dosyası. ViewStub
kullanımı hakkında daha fazla bilgi için şu bölümü okuyun: Yükleme
Görüntüleme sayısı (seç-izle video).
<merge>
- Düzen hiyerarşisinde çizilmeyen alternatif bir kök öğe. Bunu bir
kök öğe, bu düzenin bir düzene yerleştirildiğini bildiğinizde yararlıdır
öğesini, alt öğelerini içerecek uygun üst
View
öğesini zaten içeren
<merge>
öğesi.
Bu, özellikle bu düzeni dahil etmeyi planladığınızda yararlıdır.
<include>
ve
Bu düzen farklı bir ViewGroup
kapsayıcısı gerektirmez. Daha fazla
Düzenleri <include> ile yeniden kullanma hakkında bilgi edinin.
android:id değeri
Kimlik değeri için genellikle aşağıdaki örnekte gösterildiği gibi şu söz dizimi formunu kullanırsınız: "@+id/name"
. İlgili içeriği oluşturmak için kullanılan
artı simgesi +
, bunun yeni bir kaynak kimliği olduğunu belirtir ve aapt
aracı
yeni bir kaynak tam sayısı (mevcut değilse R.java
sınıfında)
<TextView android:id="@+id/nameTextbox"/>
nameTextbox
adı artık bu öğeye eklenmiş bir kaynak kimliğidir. Ardından
kimliğin Java'da ilişkilendirilen TextView
bölümüne bakın:
Kotlin
val textView: TextView? = findViewById(R.id.nameTextbox)
Java
TextView textView = findViewById(R.id.nameTextbox);
Bu kod, TextView
nesnesini döndürür.
Ancak önceden bir kimlik kaynağı tanımladıysanız ve bu kaynak henüz tanımlanmamışsa
önceden kullanılıyorsa o kimliği hariç tutarak bu kimliği bir View
öğesine uygulayabilirsiniz.
android:id
değerinde artı simgesi.
android:layout_height ve
android:layout_width
Yükseklik ve genişlik değerleri,
boyut
Android (px, dp, sp, pt, in, mm) tarafından desteklenen birimler:
Değer | Açıklama |
match_parent |
Boyutu, üst öğeyle eşleşecek şekilde ayarlar. API düzeyi 8'de
fill_parent öğesini kullanımdan kaldırın. |
wrap_content |
Boyutu yalnızca bu öğenin içeriğine sığdırmak için gereken boyuta ayarlar. |
Özel görünüm öğeleri
Özel View
ve ViewGroup
oluşturabilirsiniz
öğelerini düzenleyebilir ve bunları, standart bir düzenle aynı şekilde düzeninize uygulayabilirsiniz.
öğesine dokunun. XML öğesinde desteklenen özellikleri de belirtebilirsiniz. Daha fazla bilgi için
Özel görünüm bileşenleri oluşturma bölümünü inceleyin.
- örnek:
- XML dosyası
res/layout/main_activity.xml
itibarıyla kaydedildi:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>
Bu uygulama kodu, Activity
için düzeni
onCreate()
yöntemi:
-
Kotlin
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
}
Java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
- ayrıca bkz.:
-
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2024-08-21 UTC.