.

Μαθήματα Android Studio - Μέρος 3ο: Linear Layout, Button, TextView


 

Μάθημα τρίτο για το Android Studio και σήμερα ο Χρήστος θα μας δείξει ένα απλό παράδειγμα design της εφαρμογής μας, παρουσιάζοντας τρία στοιχεία τα οποία θα χρησιμοποιήσουμε κατά κόρον στον προγραμματισμό μας στο Android, το Linear Layout, το Button και το TextView. Επειδή δυστυχώς δεν μπόρεσε να δημιουργήσει το δεύτερο βίντεο που υλοποιούμε την εφαρμογή χωρίς Fragment έγραψε τις αλλαγές που πρέπει να αναφερθούν, τις οποίες μπορείτε να βρείτε κάτω από το βίντεο.


Δημιουργούμε το layout στο αρχείο activity_main.xml όπως φαίνεται παρακάτω:

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity$PlaceholderFragment"><Button android:id="@+id/button" android:text="@string/bye_world" android:layout_height="wrap_content" android:layout_width="wrap_content" android:onClick="onButtonPressed"/><TextView android:id="@+id/textview" android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>

Η μόνη ουσιαστική προσθήκη είναι η property "onClick", η οποία παίρνει ως τιμή το όνομα μιας συνάρτησης. Εδώ δεν χρησιμοποιούμε κάποιον OnClickListener άμεσα στον κώδικα μας αλλά το κάνω μέσα από το layout με την onClick.

Όταν πατήσουμε το κουμπί θα κληθεί η συνάρτηση που έχουμε βάλει στην onClick, δηλαδή η onButtonPressed. Αυτήν την συνάρτηση την γράφουμε στην κλάση της Activity στην οποία ανήκει το layout στο οποίο την δηλώνουμε ως τιμή. Δεν μπορούμε να την χρησιμοποιήσουμε όταν έχουμε κάποιο Fragment, για αυτό στο βίντεο χρησιμοποιούμε κάποιον OnClickListener.

Η συνάρτηση onButtonPressed είναι αυτή που βλέπουμε παρακάτω:

package me.clepto.myapplication;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
    private Button button;
    private TextView textview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button)findViewById(R.id.button);
        textview = (TextView) findViewById(R.id.textview);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
     
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        switch (item.getItemId()) {
            case R.id.action_settings:
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
    public void onButtonPressed (View v) {
        String buttonText = button.getText().toString();
        String textviewText = textview.getText().toString();
        button.setText(textviewText);
        textview.setText(buttonText);
    }
}

Μπορείτε να βρείτε όλα τα μαθήματα του Χρήστου εδώ.

 
© 2012-2015 Dr. Android | Original theme design by Main-Blogger - Blogger Template and Blogging Stuff | Material design by Chris K.