Android: Tvorba GUI

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Oprava vzhledu, upřesnění formulací.)
(Vyskakovací okna: Oprava vzhledu, osamostatnění kapitoly Activity)
Řádka 278: Řádka 278:
 
* AlertDialog
 
* AlertDialog
 
**  kritické události nebo potvrzení
 
**  kritické události nebo potvrzení
**  ?? Od studenta z testu:
 
 
****AlertDialog dialog = new AlertDialog(Neutral, "OK");
 
****AlertDialog dialog = new AlertDialog(Neutral, "OK");
 
****Dialog.setText(text);
 
****Dialog.setText(text);
Řádka 285: Řádka 284:
 
* Builder
 
* Builder
 
**  umožňuje nastavit vlastnosti dialogu.
 
**  umožňuje nastavit vlastnosti dialogu.
Activity
+
 
* Pojmy
+
 
**  Aktivita <#ID_1165457866>
+
== Přepínání obrazovek ==
****Activity
+
*  Aktivita... jedna obrazovka aplikace.
****Jedna obrazovka aplikace
+
** Je realizována třídou, která je potomkem třídy <code>android.app.Activity</code>.
* Potomek třídy:
+
; Životní cyklus aktivity:
**  android.app.Activity
+
* Viz [http://developer.android.com/reference/android/app/Activity.html developer.android.com > Reference > Android > App > Activity]
* Životní cyklus:
+
**  developer.android.com > Reference > Android > App > Activity <http://developer.android.com/reference/android/app/Activity.html>
+
 
* Metody:
 
* Metody:
** setContentView()
+
  setContentView()
****Náhled obsahu.
+
* Náhled obsahu.
** onCreate()
+
  onCreate()
****Volá se:
+
* Volá se:
***** při spuštění aktivity.
+
** Při spuštění aktivity.
***** Pokud bylo málo paměti a komponenta ve stavu onPause() nebo onStop() byla uvolněna.
+
** Pokud bylo málo paměti a komponenta ve stavu onPause() nebo onStop() byla uvolněna.
** onStart()
+
  onStart()
****Následuje po:
+
* Následuje po:
***** onCreate()
+
** <code>onCreate()</code>
***** onRestart()
+
** <code>onRestart()</code>
** onResume()
+
  onResume()
****Následuje po:  
+
* Když se uživatel vrátí k obrazovce (ale byla předtím stále viditelná):
***** onStart()
+
* Následuje po:  
***** onPause()
+
** onStart()
******  když se uživatel vrátí k obrazovce (ale byla předtím stále viditelná):
+
** onPause()
** onPause()
+
  onPause()
****Uživatel se přepne do jiné aktivity
+
* Uživatel se přepne do jiné aktivity
** onStop()
+
  onStop()
****Aktivita již nebude viditelná.
+
*Aktivita již nebude viditelná.
** onRestart()
+
  onRestart()
****Aktivita byla znovu zviditelněna (předtím bylo okno skryto).
+
* Aktivita byla znovu zviditelněna (předtím bylo okno skryto).
****Následuje tedy po:
+
* Následuje tedy po:
***** onStop()
+
** onStop()
** onDestroy()
+
** onDestroy()
****Ukončení aktivity.
+
* Ukončení aktivity.
* Spuštění aktivity
+
**  Intent i = new Intent(this, novaAktivita.class);
+
**  startActivity(i);
+
**  Přidání aktivity do manifestu:
+
****<activity android:name="novaAktivita" />
+
  
 +
* Spuštění aktivity
 +
Intent i = new Intent(this, novaAktivita.class);
 +
startActivity(i);
 +
* Přidání aktivity do manifestu:
 +
<activity android:name="novaAktivita" />
  
 
== Další otázky ==
 
== Další otázky ==

Verze z 25. 6. 2015, 09:51


Obsah

Nástroje pro tvorbu grafického rozhraní aplikace (GUI)


Prvky GUI

TextView

Button

XML atributy

ImageView, ImageButton

XML atributy
<ImageButton android:src="@drawable/obrazek" />
Resources res = getResources();
Drawable img = res.getDrawable(R.drawable.cross);
ibt.setImageDrawable(img);

EditText

XML atributy
Metody
EditText et = (EditText) findviewbyid(R.id.txt);
Editable str = txt.getText();  
Toast toast = Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG);
toast.show();  

AutoCompleteTextView

CheckBox

XML atributy
android:id
Metody
isChecked()
setChecked()
toggle()

RadioButton

RadioGroup

XML atributy
android:id (viz dále)
Metody
getCheckedRadioButtonId()

AnalogClock

DigitalClock

Metody
getText()

Switch

Společné vlastnosti

Texty/multilanguage

Poznámky

Identifikace prvků GUI

android:id
findViewById(...)
  • v XML:
<TextView android:id="@+id/popis" .../>
  • v kódu:
TextView tv = (TextView) this.findViewById(R.id.popis);
Další metody
int View.getId()
View View.getParent()
int View.getParent()
View View.getRootView()


Kontejnery


Menu


Vyskakovací okna


Přepínání obrazovek

Životní cyklus aktivity
setContentView()
onCreate()
onStart()
onResume()
onPause()
onStop()
onRestart()
Intent i = new Intent(this, novaAktivita.class);
startActivity(i);
<activity android:name="novaAktivita" />

Další otázky

Vytvářet GUI v kódu, nebo editací XML?

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje