Risorsa layout
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Una risorsa di layout definisce l'architettura dell'interfaccia utente in un Activity
o un
di una UI.
- percorso del file:
res/layout/filename.xml
-
Il nome file viene utilizzato come ID risorsa.
- tipo di dati della risorsa compilato:
- Puntatore di risorsa a una risorsa
View
(o sottoclasse)
- riferimento della risorsa:
-
In Java:
R.layout.filename
In XML: @[package:]layout/filename
- sintassi:
-
<?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>
Nota: l'elemento principale può essere un
ViewGroup
, View
o <merge>
, ma possono esserci solo
un elemento radice e deve contenere l'attributo xmlns:android
con android
come mostrato nell'esempio di sintassi precedente.
- elementi:
-
<ViewGroup>
- Un contenitore per altri elementi
View
. Esistono molti
diversi tipi di oggetti ViewGroup
, e ognuno ti consente
specificare il layout degli elementi secondari in vari modi. Diversi tipi di
ViewGroup
oggetti includono LinearLayout
,
RelativeLayout
e FrameLayout
.
Non dare per scontato che qualsiasi derivazione di ViewGroup
accetta viste nidificate. Alcuni gruppi di visualizzazioni
sono implementazioni della classe AdapterView
, che determina
i suoi figli solo da un Adapter
.
Attributi:
android:id
- ID risorsa. Un nome risorsa univoco per l'elemento, che puoi
per ottenere un riferimento a
ViewGroup
dalla tua applicazione. Per ulteriori informazioni
informazioni, consulta la sezione Valore per android:id.
android:layout_height
- Dimensione o parola chiave. Obbligatorio. L'altezza del gruppo, espressa come
il valore della dimensione (o
risorsa dimensione) o una parola chiave
(
"match_parent"
o "wrap_content"
). Per ulteriori informazioni,
vedi Valori per android:layout_height e
nella sezione android:layout_width.
android:layout_width
- Dimensione o parola chiave. Obbligatorio. La larghezza del gruppo, espressa come
il valore della dimensione (o
risorsa dimensione) o una parola chiave
(
"match_parent"
o "wrap_content"
). Per ulteriori informazioni,
vedi Valori per android:layout_height e
nella sezione android:layout_width.
ViewGroup
supporta più attributi e molti altri sono supportati da ciascuna implementazione
ViewGroup
. Per un riferimento a tutti gli attributi disponibili,
consulta la documentazione di riferimento corrispondente per la classe ViewGroup
,
ad esempio, il file LinearLayout
XML
personalizzati.
<View>
- Un singolo componente dell'interfaccia utente, generalmente denominato widget. Diverso
i tipi di oggetti
View
includono TextView
,
Button
e CheckBox
.
Attributi:
android:id
- ID risorsa. Un nome risorsa univoco per l'elemento, che puoi utilizzare per
ottenere un riferimento a
View
dalla tua applicazione. Per ulteriori informazioni
informazioni, consulta la sezione Valore per android:id.
android:layout_height
- Dimensione o parola chiave. Obbligatorio. L'altezza dell'elemento, come
il valore di una dimensione (o
risorsa dimensione) o una parola chiave
(
"match_parent"
o "wrap_content"
). Per ulteriori informazioni,
vedi Valori per android:layout_height e
nella sezione android:layout_width.
android:layout_width
- Dimensione o parola chiave. Obbligatorio. La larghezza dell'elemento, come
il valore di una dimensione (o
risorsa dimensione) o una parola chiave
(
"match_parent"
o "wrap_content"
). Per ulteriori informazioni,
vedi Valori per android:layout_height e
nella sezione android:layout_width.
View
supporta più attributi e molti altri sono supportati da ciascuna implementazione
View
. Per ulteriori informazioni, consulta la sezione Layout. Per
un riferimento a tutti gli attributi disponibili,
consulta la relativa documentazione di riferimento, ad esempio gli attributi XML di TextView
.
<requestFocus>
- Qualsiasi elemento che rappresenta un oggetto
View
può includere questo elemento vuoto,
che consente all'elemento principale di concentrarsi
sullo schermo. Puoi avere solo uno di questi
per file.
<include>
- Include un file di layout in questo layout.
Attributi:
layout
- Risorsa di layout. Obbligatorio. Riferimento a un layout
risorsa.
android:id
- ID risorsa. Sostituisce l'ID assegnato alla vista principale nel layout incluso.
android:layout_height
- Dimensione o parola chiave. Sostituisce l'altezza assegnata alla vista principale nella
layout incluso. In vigore solo se viene dichiarato anche
android:layout_width
.
android:layout_width
- Dimensione o parola chiave. Sostituisce la larghezza assegnata alla vista principale nella
layout incluso. In vigore solo se viene dichiarato anche
android:layout_height
.
Puoi includere qualsiasi altro attributo di layout in <include>
che sia
supportati dall'elemento principale nel layout incluso e sostituiscono quelli definiti nei
principale.
Attenzione: se vuoi sostituire gli attributi di layout utilizzando
il tag <include>
, devi sostituire entrambi
android:layout_height
e android:layout_width
in ordine per
altri attributi di layout.
Un altro modo per includere un layout è usare ViewStub
, uno strumento leggero
che non occupa spazio di layout finché non viene gonfiata in modo esplicito. Quando lo fai, include una
file di layout definito dal relativo attributo android:layout
. Per ulteriori informazioni sull'utilizzo di ViewStub
, leggi Caricare
di visualizzazioni on demand.
<merge>
- Un elemento principale alternativo non tracciato nella gerarchia del layout. Usa questo come
l'elemento principale è utile quando sai che questo layout è inserito in un layout
che contiene già l'elemento
View
principale appropriato per contenere gli elementi secondari dei
Elemento <merge>
.
Ciò è particolarmente utile quando prevedi di includere questo layout
in un altro file di layout utilizzando <include>
e
questo layout non richiede un contenitore ViewGroup
diverso. Per ulteriori informazioni
informazioni sull'unione dei layout, leggi Riutilizzare i layout con <include>.
Valore per android:id
Per il valore ID, in genere viene utilizzato questo formato di sintassi: "@+id/name"
, come mostrato nell'esempio seguente. La
il simbolo più, +
, indica che si tratta di un nuovo ID risorsa e lo strumento aapt
crea
Un nuovo numero intero della risorsa nella classe R.java
, se non esiste già.
<TextView android:id="@+id/nameTextbox"/>
Il nome nameTextbox
è ora un ID risorsa associato a questo elemento. Puoi quindi
fai riferimento al TextView
a cui l'ID è associato in Java:
Kotlin
val textView: TextView? = findViewById(R.id.nameTextbox)
Java
TextView textView = findViewById(R.id.nameTextbox);
Questo codice restituisce l'oggetto TextView
.
Tuttavia, se hai già definito una risorsa ID, che non è
già utilizzato, puoi applicare questo ID a un elemento View
escludendo
nel valore android:id
.
Valori per android:layout_height e
android:layout_width
I valori di altezza e larghezza sono espressi utilizzando uno qualsiasi dei
dimensione
unità supportate da Android (px, dp, sp, pt, in, mm) o con le seguenti parole chiave:
Valore | Descrizione |
match_parent |
Consente di impostare la dimensione in modo che corrisponda a quella dell'elemento principale. Aggiunto nel livello API 8 a
ritira fill_parent . |
wrap_content |
Imposta la dimensione solo sulla dimensione richiesta per adattarsi ai contenuti di questo elemento. |
Elementi di visualizzazione personalizzati
Puoi creare View
e ViewGroup
personalizzati
e applicarli al tuo layout come faresti con un layout standard
. Puoi anche specificare gli attributi supportati nell'elemento XML. Per ulteriori informazioni,
consulta Creare componenti vista personalizzati.
- esempio:
- File XML salvato alle ore
res/layout/main_activity.xml
:
<?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>
Questo codice dell'applicazione carica il layout per un Activity
in
Metodo onCreate()
:
-
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);
}
- vedi anche:
-
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2024-09-20 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Mancano le informazioni di cui ho bisogno"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Troppo complicato/troppi passaggi"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsoleti"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema di traduzione"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema relativo a esempi/codice"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Altra"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile da capire"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Il problema è stato risolto"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Altra"
}]
{"lastModified": "Ultimo aggiornamento 2024-09-20 UTC."}
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-09-20 UTC."]]