Get the Flash Player to see this player.

time2online Joomla Extensions: Simple Video Flash Player Module
wywołanie metody onClick

Aby wywołać menu stwórzmy nowy projekt z jednym przyciskiem. Projekt nazwijmy Implementacja. Teraz dodajmy przycisk (w pliku main.xml) przez układ graficzny przeciągając na okienko przycisk Button. Główny kod programu będzie w klasie Implementacja.java, ale wygląd graficzny jest w pliku main.xml. Teraz stwórzmy nową klasę o nazwie Informacje. Ta klasa będzie odpowiedzialna za wyświetlenie drugiego okna. Wygląd drugiego okna stworzymy w pliku informacje.xml.

Utwórzmy teraz nową klasę odpowiedzialną za wyświetlenie informacji (Informacja.java). Klikamy New->Class i uzupełniamy tak jak poniżej:

Teraz w pliku Informacje.java wpisujemy taki kod:

package org.przyklad.procedura;

import android.app.Activity;
import android.os.Bundle;

public class Informacje extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 <strong>setContentView(R.layout.informacje);</strong>
 }
}

Najważniejsza linijka to setContentView(R.layout.informacje). To w tej linijce mówimy, że ta klasa ma wyświetlać układ graficzny z informacje.xml. Ważne jest także, aby wpisać Package taki jak projektu, bo inaczej klasy nie będą się widziały i będzie trzeba importować je ręcznie.

Teraz dodajemy aktywność otwierając plik AndroidManifest.xml i klikamy na przycisk Add i wybieramy Activity klikając dwa razy.

Mając już utworzoną klasę wystarczy utwórzmy sobie nowy plik XML odpowiadający za wygląd nowego okienka informacyjnego. Klikamy drugim przyciskiem na layout i wybieramy new->file i wpisujemy nazwę pliku informacje.xml (plik musi się tak nazywać, bo tej nazwy użyliśmy wcześniej w klasie Informacja.java).

Kod powinien wyglądać tak jak poniżej. Można po prostu skopiować ten kod, albo używać warstwy graficznej do uzupełniania:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:id="@+id/scrollView1"
 android:layout_width="fill_parent" android:layout_height="fill_parent"
 xmlns:android="http://schemas.android.com/apk/res/android">
 <TextView android:layout_width="match_parent"
 android:layout_height="match_parent" android:text="@string/teks_informacje"
 android:id="@+id/tresc_informacje"></TextView>
</ScrollView>

Jeśli używaliśmy graficznego interfejsu, to nasz plik strings.xml powinien wyglądać tak:

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="hello">Hello World, ProceduraActivity!</string>
 <string name="app_name">Procedura</string>
 <string name="przycisk">Informacja</string>
 <string name="tekst_informacje">coś tam będzie</string>
 <string name="tytul_informacje">O to informacje</string>
</resources>

Jeśli tak nie wygląda to skopiujcie ten kod.

Teraz wystarczy oprogramować nasze kliknięcie. Wchodzimy do naszego głownego pliku Implementacja.java i uzupełniamy go:

package org.przyklad.procedura;

import android.app.Activity;
import android.os.Bundle;

import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;

public class ProceduraActivity extends Activity implements OnClickListener{
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);

 View przyciskInformacje = findViewById(R.id.przycisk_informacje);
 przyciskInformacje.setOnClickListener(this);

 } 

 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 switch (v.getId()) {
 case R.id.przycisk_informacje:
 Intent i = new Intent(this, Informacje.class);
 startActivity(i);
 break;
 }
 }
}

W tym pliku rozszerzyliśmy naszą klasę o interfejs OnClickListener kompilator może się zdenerwować, dlatego będzie trzeba kliknąć na czerwony krzyżyk po lewej stronie i dodać kilka bibliotek. Najważniejsze w tym pliku to dodanie:

View przyciskInformacje = findViewById(R.id.przycisk_informacje);
przyciskInformacje.setOnClickListener(this);

Oraz dopisanie metody public void onClick(View v), która będzie obsługiwała kliknięcie.

Teraz już powinno wszystko śmigać odpalamy projekt.

Jak można zauważyć nie ma szału po prostu po kliknięciu wyskakuje nam inne okienko. Fajnie byłoby zrobić animację, albo jakieś okno dialogowe, które przyciemni tylko poprzednie okno i wyświetli nasze informacje. Oczywiście programiści pomyśleli także i o tym. Robi się to jednym kliknięciem wystarczy kliknąć na plik AndroidManifest.xml i wybrać jedną z wielu dostępnych animacji tak jak to pokazałem na obrazku:

Po wybraniu @android:style/Theme.Dialog powinniśmy uzyskać taki efekt w naszej aplikacji:

całą aplikację załączam poniżej jakby komuś nie wychodziło samemu:

kliknij aby pobrać projekt