Sabtu, 22 November 2014

Memilih Warna Dengan Radio Button Menggunakan Eclipse


Berikut tugas kampus membuat program aplikasi android menggunakan eclipse dengan ketentuan pada activity minimal sudah terdapat Textfield, Button, Radio Button.

Memulai projek ini saya memberi nama projek App dengan nama Pilih Warna dan pada MainActivity dengan nama PilwarMainActivity, disain nya menggunakan RadioGroup, Button, dan TextField seperti gambar berikut :



Pada pilwar_main_activity.xml terdapat script seperti ini :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="top"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".PilwarMainActivity" >

    <TextView
        android:id="@+id/header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/header" />

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/header"
        android:layout_below="@+id/header"
        android: layout_marginTop="25dp"
        android:orientation="vertical" >

        <RadioButton
            android:id="@+id/radio0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="@string/red" />

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/green" />

        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/blue" />

        <RadioButton
            android:id="@+id/radio3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/yellow" />

        <RadioButton
            android:id="@+id/radio4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tdk" />

    </RadioGroup>

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/radioGroup1"
        android:layout_below="@+id/pilwar"
        android:layout_marginLeft="16dp"
        android:text="@string/rst" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/pilwar"
        android:layout_toRightOf="@+id/button2"
        android:text="@string/exit" />

    <EditText
        android:id="@+id/pilwar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button2"
        android:layout_below="@+id/radioGroup1"
        android:layout_marginTop="30dp"
        android:ems="10"
        android:inputType="text"
        android:text="@string/pilihwarna" >

        <requestFocus />
    </EditText>

</RelativeLayout>

Langkah Selanjutnya adalah pengcodingan  pada jendela PilwarMainActivity.java yang terdapat di src/com/example/pilihwarna/PilwarMainActivity.java

package com.example.pilihwarna;

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;

public class PilwarMainActivity extends Activity implements OnClickListener {
       RadioButton rd1;
       RadioButton rd2;
       RadioButton rd3;
       RadioButton rd4;
       RadioButton rd5;
       Button btn1;
       Button btn2;
       TextView txt;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_pilwar_main);
              rd1 = (RadioButton) findViewById(R.id.radio0);
              rd2 = (RadioButton) findViewById(R.id.radio1);
              rd3 = (RadioButton) findViewById(R.id.radio2);
              rd4 = (RadioButton) findViewById(R.id.radio3);
              rd5 = (RadioButton) findViewById(R.id.radio4);
              btn1 = (Button) findViewById(R.id.button1);
              btn2 = (Button) findViewById(R.id.button2);
              txt = (TextView) findViewById(R.id.pilwar);

              rd1.setOnClickListener(this);
              rd2.setOnClickListener(this);
              rd3.setOnClickListener(this);
              rd4.setOnClickListener(this);
              rd5.setOnClickListener(this);
              btn1.setOnClickListener(this);
              btn2.setOnClickListener(this);
       }

       @Override
       public void onClick(View v) {
              if (v == btn1) {
                     finish();
//keterangan : ketika Button Exit di klik maka langsung menutup aplikasi.

              } else if (v == btn2) {
                     txt.setBackgroundResource(R.drawable.bgWhite);
                     txt.setText("");
                   Toast.makeText(getBaseContext(), "Pilih Warna Kembali",Toast.LENGTH_LONG).show();

 //keterangan : ketika Button Reset di klik maka TextField clear/kosong dan akan keluar toast atau pesan seperti gambar di bawah ini:



              } else if (v == rd1) {
                     txt.setBackgroundResource(R.drawable.bgRed);
                     txt.setText("Pribadinya Pemberani");
                                         
              } else if (v == rd2) {
                     txt.setBackgroundResource(R.drawable.bgGreen);
                     txt.setText("Pribadinya Penyayang ");
                                         
              } else if (v == rd3) {
                     txt.setBackgroundResource(R.drawable.bgBlue);
                     txt.setText("Pribadinya Lembut");
                                         
              } else if (v == rd4) {
                     txt.setBackgroundResource(R.drawable.bgYellow);
                     txt.setText("Pribadinya Cerdas");
                                         
              } else if (v == rd5) {
                     txt.setBackgroundResource(R.drawable.bgWhite);
                     txt.setText("Pribadinya Hampa");
                    
              }
       }
}

Ketika salah satu RadioButton di klik maka TextField akan mengisi text sesuai setText dan akan merubah bgwarna dari masing masing RadioButton Seperti gambar berikut :






Untuk merubah bgWarna pada masing masing RadioButton, disini saya menambahkan script pada jendela strings.xml yang berada di res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">PilihWarna</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="exit">Exit</string>
    <string name="red">Merah</string>
    <string name="green">Hijau</string>
    <string name="blue">Biru</string>
    <string name="pilihwarna"></string>
    <string name="rst">Reset</string>
    <string name="header">Warna Kesukaan Anda</string>
    <string name="yellow">Kuning</string>
    <string name="tdk">Tidak Ada</string>
   
    <drawable name="bgRed">#FF0000</drawable>
    <drawable name="bgGreen">#00FF00</drawable>
    <drawable name="bgBlue">#0000FF</drawable>
    <drawable name="bgYellow">#ffff33</drawable>
    <drawable name="bgWhite">#ffffff</drawable>
                                       

</resources>

Selesai sudah aplikasi android sederhana menggunakan eclipse yang saya beri nama projek App Pilih Warna dengan RadioButton, Button, dan TextField.


Tidak ada komentar:

Posting Komentar