You are on page 1of 47

TUTORIAL UI ANDROID

APOC

1.

Textview
a.

Menambahkan TextVIew

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


<LinearLayout xmlns:android="http://schemas.android
.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/directions"
/>
</LinearLayout>

b.

Pengembangan TextView :
Contoh AutoCompleteTextView untuk melengkapi teks secara otomatis.

Contoh 1 :

package app.test;
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.widget.ArrayAdapter;
android.widget.AutoCompleteTextView;

By : Yazid

public class Test extends Activity {


String[] presidents =
{
"Dwight D. Eisenhower",
"John F. Kennedy",
"Lyndon B. Johnson",
"Richard Nixon",
"Gerald Ford",
"Jimmy Carter",
"Ronald Reagan",
"George H. W. Bush",
"Bill Clinton",
"George W. Bush",
"Barack Obama"
};
/** Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayAdapter<String> adapter = new ArrayAda
pter<String>(this,
android.R.layout.simple_dropdown_it
em_1line, presidents);
AutoCompleteTextView textView = (AutoComple
teTextView)
findViewById(R.id.txtCountries);
textView.setThreshold(3);
textView.setAdapter(adapter);
}
}
//main.xml
By : Yazid

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


<LinearLayout xmlns:android="http://schemas.android
.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Name of President" />
<AutoCompleteTextView android:id="@+id/txtCountries
"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Contoh 2 :

package app.test;
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.View;
android.widget.ArrayAdapter;
android.widget.AutoCompleteTextView;
android.widget.Button;
android.graphics.Color;

public class Test extends Activity {


@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
ArrayAdapter<String> monthArray = new ArrayAdap
By : Yazid

ter<String>(this,
android.R.layout.simple_list_item_1, Months
);
final AutoCompleteTextView textView = (AutoComp
leteTextView) findViewById(R.id.testAutoComplete);
textView.setAdapter(monthArray);
final Button changeButton = (Button) findViewBy
Id(R.id.autoCompleteButton);
changeButton.setOnClickListener(new Button.OnCl
ickListener() {
public void onClick(View v) {
changeOption(textView);
}
});
final Button changeButton2 = (Button) findViewB
yId(R.id.textColorButton);
changeButton2.setOnClickListener(new Button.OnC
lickListener() {
public void onClick(View v) {
changeOption2(textView);
}
});
}
static final String[] Months = new String[] { "Ja
nuary", "February",
"March", "April", "May", "June", "July", "Aug
ust", "September",
"October", "November", "December" };
public void changeOption(AutoCompleteTextView tex
t) {
if (text.getHeight() == 100) {
text.setHeight(30);
} else {
text.setHeight(100);

By : Yazid

}
}
public void changeOption2(AutoCompleteTextView te
xt) {
text.setTextColor(Color.RED);
}
}
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android
.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<AutoCompleteTextView android:id="@+id/testAutoComp
lete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button android:id="@+id/autoCompleteButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change Layout"/>
<Button android:id="@+id/textColorButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change Text Color"/>
</LinearLayout>
2.

Button
a. Menambahkan Button

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


<LinearLayout
xmlns:android="http://schemas.android.com/apk/re
s/android"
By : Yazid

android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:id="@+id/url_field"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:lines="1" />
<Button
android:id="@+id/go_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/go_button" />
</LinearLayout>

b. Menambahkan On click Listener pada button


Contoh 1 :

package app.Test;
import
import
import
import
import
import
import
import
import
import

android.app.Activity;
android.content.Intent;
android.net.Uri;
android.os.Bundle;
android.view.KeyEvent;
android.view.View;
android.view.View.OnClickListener;
android.view.View.OnKeyListener;
android.widget.Button;
android.widget.EditText;

public class appTest extends Activity {


private EditText urlText;
private Button goButton;
@Override
By : Yazid

public void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get a handle to all user interface elements
urlText = (EditText) findViewById(R.id.url_fiel
d);
goButton = (Button) findViewById(R.id.go_button
);
// Setup event handlers
goButton.setOnClickListener(new OnClickListener
() {
public void onClick(View view) {
openBrowser();
}
});
urlText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View view, int keyCode,
KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
openBrowser();
return true;
}
return false;
}
});
}
/** Open a browser on the URL specified in the te
xt box */
private void openBrowser() {
Uri uri = Uri.parse(urlText.getText().toString(
));
Intent intent = new Intent(Intent.ACTION_VIEW,
uri);
startActivity(intent);
}

By : Yazid

}
//File: main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/re
s/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/url_field"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:lines="1" />
<Button
android:id="@+id/go_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/go_button" />
</LinearLayout>
<WebView
android:id="@+id/web_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0" />
</LinearLayout>
Contoh 2 :

package app.test;
import android.app.Activity;
By : Yazid

import
import
import
import
import
import
import

android.app.AlertDialog;
android.content.Intent;
android.net.Uri;
android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.EditText;

public class Test extends Activity {


@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final AlertDialog.Builder adb = new AlertDialog
.Builder(this);
final EditText addressfield = (EditText) findVi
ewById(R.id.address);
final Button button = (Button) findViewById(R.i
d.launchmap);
button.setOnClickListener(new Button.OnClickLis
tener() {
public void onClick(View v) {
try {
// Perform action on click
String address = addressfield.getText().t
oString();
address = address.replace(' ', '+');
Intent geoIntent = new Intent(
android.content.Intent.ACTION_VIEW, U
ri
.parse("geo:0,0?q=" + address));
startActivity(geoIntent);
} catch (Exception e) {
AlertDialog ad = adb.create();
ad.setMessage("Failed to Launch");
ad.show();
}
By : Yazid

}
});
}
}
//main.xml

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


<LinearLayout xmlns:android="http://schemas.android
.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Please enter your home address."
/>
<EditText
android:id="@+id/address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoText="true"
/>
<Button
android:id="@+id/launchmap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Map"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Unlocking Android"
/>
</LinearLayout>
By : Yazid

3.

Edit Text
a.

Menambahkan EditText

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


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/
android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
</LinearLayout>

b.

Penggunaan Edite Text


Contoh 1 : Mengani Inputan dari User

package app.Test;
import
import
import
import
import
import
import

android.app.Activity;
android.content.Intent;
android.net.Uri;
android.os.Bundle;
android.view.KeyEvent;
android.view.View;
android.view.View.OnClickListener;
By : Yazid

import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.EditText;
public class appTest extends Activity {
private EditText urlText;
private Button goButton;
@Override
public void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get a handle to all user interface elemen
ts
urlText = (EditText) findViewById(R.id.url_f
ield);
goButton = (Button) findViewById(R.id.go_but
ton);
// Setup event handlers
goButton.setOnClickListener(new OnClickListe
ner() {
public void onClick(View view) {
openBrowser();
}
});
urlText.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View view, int keyCod
e, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
openBrowser();
return true;
}
return false;
}
});
By : Yazid

}
/** Open a browser on the URL specified in the
text box */
private void openBrowser() {
Uri uri = Uri.parse(urlText.getText().toStri
ng());
Intent intent = new Intent(Intent.ACTION_VIE
W, uri);
startActivity(intent);
}
}

//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk
/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/url_field"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:lines="1" />
<Button
android:id="@+id/go_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/go_button" />
By : Yazid

</LinearLayout>
<WebView
android:id="@+id/web_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0" />
</LinearLayout>
Contoh 2 : Mendapatkan teks dari Edit Text

package app.test;
import java.text.NumberFormat;
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.util.Log;
android.view.View;
android.widget.Button;
android.widget.EditText;
android.widget.TextView;

public class Test extends Activity {


@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final EditText myEditField = (EditText)
findViewById(R.id.mealprice);
final TextView answerfield = (TextView)
findViewById(R.id.answer);
final Button button = (Button) findViewB
yId(R.id.calculate);
button.setOnClickListener(new Button.OnC
lickListener() {
public void onClick(View v) {
try {
String mealprice = myEditFie
By : Yazid

ld.getText().toString();
String answer = "";
if (mealprice.indexOf("$") =
= -1) {
mealprice = "$" + mealpr
ice;
}
NumberFormat nf = java.text.
NumberFormat.getCurrencyInstance();
if (nf == null) {
Log.i("", "NumberFormat
is null");
}
float fmp = nf.parse(mealpri
ce).floatValue();
fmp *= 2;
Log.i("", "Total:" + fmp);
answer = "Full Price:" + nf.
format(fmp);
answerfield.setText(answer);
} catch (java.text.ParseExceptio
n pe) {
Log.i("", "Parse exception c
aught");
answerfield.setText("Failed
to parse amount?");
} catch (Exception e) {
Log.e("", "Failed to Calcula
te Tip:" + e.getMessage());
e.printStackTrace();
answerfield.setText(e.getMes
sage());
}
}
});
}
}
// main.xml
By : Yazid

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


<LinearLayout xmlns:android="http://schemas.andr
oid.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Calculator"
/>
<EditText
android:id="@+id/mealprice"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoText="true"
/>
<Button
android:id="@+id/calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Tip"
/>
<TextView
android:id="@+id/answer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
</LinearLayout>
Contoh 3 : Event pada Edit Text

package app.test;
import android.app.Activity;
By : Yazid

import
import
import
import
import
tener;

android.os.Bundle;
android.view.KeyEvent;
android.widget.EditText;
android.widget.TextView;
android.widget.TextView.OnEditorActionLis

public class Test extends Activity implements On


EditorActionListener {
@Override
public void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText text1 = (EditText) findViewById(R.i
d.text1);
text1.setOnEditorActionListener(this);
EditText text2 = (EditText) findViewById(R.i
d.text2);
text2.setOnEditorActionListener(this);
}
@Override
public boolean onEditorAction(TextView v, int
actionId, KeyEvent event) {
return false;
}
}
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.andr
oid.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
By : Yazid

<EditText
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionSearch"
/>
<EditText
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionGo"
/>
</LinearLayout>
4.

List View
a.

Penggunaan List View dengan menurunkan dari kelas ListActivity secara langsung

package com.commonsware.android.fancylists.seven
;
import
import
import
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.app.ListActivity;
android.view.View;
android.view.ViewGroup;
android.widget.AdapterView;
android.widget.ArrayAdapter;
android.widget.RatingBar;
android.widget.CompoundButton;
android.widget.ListView;

public class RateListViewDemo extends ListActivi


ty {
String[] items={"lorem", "ipsum", "dolor", "si
t", "amet",
"consectetuer", "adipiscing", "elit",
"morbi", "vel",
"ligula", "vitae", "arcu", "aliquet",
By : Yazid

"mollis",
"etiam", "vel", "erat", "placerat", "a
nte",
"porttitor", "sodales", "pellentesque"
, "augue",
"purus"};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(this
,
android.R.layout.simple_
list_item_1,
items));
}
b.

Penggunaan List View pada kelas turunan kelas Activity

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


<LinearLayout
xmlns:android="http://schemas.android.com/apk/re
s/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
package apoc.textview;

By : Yazid

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import
android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity
implements OnItemClickListener {
String[] items = { "lorem", "ipsum",
"dolor", "sit", "amet",
"consectetuer", "adipiscing",
"elit", "morbi", "vel", "ligula",
"vitae", "arcu", "aliquet",
"mollis", "etiam", "vel", "erat",
"placerat", "ante", "porttitor",
"sodales", "pellentesque",
"augue", "purus" };
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView list = (ListView)
findViewById(R.id.listView1);
list.setAdapter(new
ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_list_item_1,
items));
// mengenalkan event pada listview
list.setOnItemClickListener(this);
}
// event on item click pada list view
@Override
By : Yazid

public void onItemClick(AdapterView<?> arg0,


View arg1, int index, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(),
"Item yang di klik adalah : "+items[index],
Toast.LENGTH_LONG).show();
}
}

5.

Spinner
a.

Spinner cara penggunaanya hampir sama dengan List View,

package com.commonsware.android.selection;
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.View;
android.widget.AdapterView;
android.widget.ArrayAdapter;
android.widget.Spinner;
android.widget.TextView;

public class SpinnerDemo extends Activity


implements AdapterView.OnItemSelectedListener
{
TextView selection;
String[] items={"lorem", "ipsum", "dolor", "si
t", "amet",
"consectetuer", "adipiscing", "elit",
"morbi", "vel",
"ligula", "vitae", "arcu", "aliquet",
"mollis",
"etiam", "vel", "erat", "placerat", "a
nte",
"porttitor", "sodales", "pellentesque"
, "augue", "purus"};
@Override
public void onCreate(Bundle icicle) {
By : Yazid

super.onCreate(icicle);
setContentView(R.layout.main);
selection=(TextView)findViewById(R.id.select
ion);
Spinner spin=(Spinner)findViewById(R.id.spin
ner);
spin.setOnItemSelectedListener(this);
ArrayAdapter<String> aa=new ArrayAdapter<Str
ing>(this,
android.R.layout.s
imple_spinner_item,
items);
aa.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_i
tem);
spin.setAdapter(aa);
}
public void onItemSelected(AdapterView<?> pare
nt,
View v, int posi
tion, long id) {
selection.setText(items[position]);
}
public void onNothingSelected(AdapterView<?> p
arent) {
selection.setText("");
}
}

//res\layout\main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
By : Yazid

xmlns:android="http://schemas.android.com/apk/
res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/selection"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Spinner android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
/>
</LinearLayout>
b.

Mengisikan data pada spiner menggunakan Array adapter

package app.test;
import
import
import
import
import
import
import

android.app.Activity;
android.graphics.Color;
android.os.Bundle;
android.view.View;
android.widget.ArrayAdapter;
android.widget.Button;
android.widget.Spinner;

public class Test extends Activity {


@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final Spinner spinner = (Spinner) findViewBy
Id(R.id.testSpinner);
ArrayAdapter<String> adapter = new ArrayAdap
By : Yazid

ter<String>(this,
android.R.layout.simple_spinner_item, Mo
nths);
adapter.setDropDownViewResource(android.R.la
yout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
final Button changeButton = (Button) findVie
wById(R.id.enableButton);
changeButton.setOnClickListener(new Button.O
nClickListener() {
public void onClick(View v) {
changeOption(spinner);
}
});
final Button changeButton2 = (Button) findVi
ewById(R.id.backgroundColorButton);
changeButton2.setOnClickListener(new Button.
OnClickListener() {
public void onClick(View v) {
changeOption2(spinner);
}
});
}
static final String[] Months = new String[] {
"January", "February",
"March", "April", "May", "June", "July", "
August", "September",
"October", "November", "December" };
public void changeOption(Spinner spinner) {
if (spinner.isEnabled()) {
spinner.setEnabled(false);
} else {
spinner.setEnabled(true);
}
By : Yazid

}
public void changeOption2(Spinner spinner) {
spinner.setBackgroundColor(Color.RED);
}
}
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.andr
oid.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Spinner android:id="@+id/testSpinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button android:id="@+id/enableButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Set isEnabled"/>
<Button android:id="@+id/backgroundColorButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change Background Color"/>
</LinearLayout>
6.

Radio Button
a.

Cara menambahkan Radio button dalam Radio group,

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

By : Yazid

public class Test extends Activity {


@Override
public void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.andro
id.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
>
<TableRow>
<TextView android:text="Name:" />
<EditText android:id="@+id/name" />
</TableRow>
<TableRow>
<TextView android:text="Address:" />
<EditText android:id="@+id/addr" />
</TableRow>
<TableRow>
<TextView android:text="Type:" />
<RadioGroup android:id="@+id/types">
<RadioButton android:id="@+id/take_out"
android:text="Take-Out"
/>
<RadioButton android:id="@+id/sit_down"
android:text="Sit-Down"
/>
<RadioButton android:id="@+id/delivery"
android:text="Delivery"
/>
By : Yazid

</RadioGroup>
</TableRow>
<Button android:id="@+id/save"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Save"
/>
</TableLayout>

b.

Menambahkan Check Listener Pada Radio Group


Jadi yang diberi event adalah Radio groupnya bukan pada Radio buttonnya.

package app.test;
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.Gravity;
android.widget.LinearLayout;
android.widget.RadioGroup;

public class Test extends Activity implements


RadioGroup.OnCheckedChangeListener {
RadioGroup orientation;
RadioGroup gravity;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
orientation = (RadioGroup) findViewById(R.id
.orientation);
orientation.setOnCheckedChangeListener(this)
;
gravity = (RadioGroup) findViewById(R.id.gra
vity);
gravity.setOnCheckedChangeListener(this);
}
By : Yazid

public void onCheckedChanged(RadioGroup group,


int checkedId) {
switch (checkedId) {
case R.id.horizontal:
orientation.setOrientation(LinearLayout.HO
RIZONTAL);
break;
case R.id.vertical:
orientation.setOrientation(LinearLayout.VE
RTICAL);
break;
case R.id.left:
gravity.setGravity(Gravity.LEFT);
break;
case R.id.center:
gravity.setGravity(Gravity.CENTER_HORIZONT
AL);
break;
case R.id.right:
gravity.setGravity(Gravity.RIGHT);
break;
}
}
}
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/
res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
By : Yazid

>
<RadioGroup android:id="@+id/orientation"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5px">
<RadioButton
android:id="@+id/horizontal"
android:text="horizontal" />
<RadioButton
android:id="@+id/vertical"
android:text="vertical" />
</RadioGroup>
<RadioGroup android:id="@+id/gravity"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5px">
<RadioButton
android:id="@+id/left"
android:text="left" />
<RadioButton
android:id="@+id/center"
android:text="center" />
<RadioButton
android:id="@+id/right"
android:text="right" />
</RadioGroup>
</LinearLayout>

c.

Contoh Enabel dan Disabel pada Radio Group

package app.test;
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.Gravity;
android.widget.LinearLayout;
By : Yazid

import android.widget.RadioGroup;
public class Test extends Activity implements
RadioGroup.OnCheckedChangeListener {
RadioGroup orientation;
RadioGroup gravity;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
orientation = (RadioGroup) findViewById(R.id
.orientation);
orientation.setOnCheckedChangeListener(this)
;
gravity = (RadioGroup) findViewById(R.id.gra
vity);
gravity.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(RadioGroup group,
int checkedId) {
switch (checkedId) {
case R.id.horizontal:
orientation.setOrientation(LinearLayout.HO
RIZONTAL);
break;
case R.id.vertical:
orientation.setOrientation(LinearLayout.VE
RTICAL);
break;
case R.id.left:
gravity.setGravity(Gravity.LEFT);
break;
case R.id.center:
By : Yazid

gravity.setGravity(Gravity.CENTER_HORIZONT
AL);
break;
case R.id.right:
gravity.setGravity(Gravity.RIGHT);
break;
}
}
}
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/
res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RadioGroup android:id="@+id/orientation"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5px">
<RadioButton
android:id="@+id/horizontal"
android:text="horizontal" />
<RadioButton
android:id="@+id/vertical"
android:text="vertical" />
</RadioGroup>
<RadioGroup android:id="@+id/gravity"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5px">
<RadioButton
By : Yazid

android:id="@+id/left"
android:text="left" />
<RadioButton
android:id="@+id/center"
android:text="center" />
<RadioButton
android:id="@+id/right"
android:text="right" />
</RadioGroup>
</LinearLayout>

d.

Membersihkan Radio button yang di pilih atau UnCheck

package com.example.android.apis.view;
import com.example.android.apis.R;
import
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.View;
android.widget.TextView;
android.widget.RadioGroup;
android.widget.Button;
android.widget.RadioButton;
android.widget.LinearLayout;

public class RadioGroup1 extends Activity implem


ents RadioGroup.OnCheckedChangeListener,
View.OnClickListener {
private TextView mChoice;
private RadioGroup mRadioGroup;
@Override
protected void onCreate(Bundle savedInstance
State) {
super.onCreate(savedInstanceState);
By : Yazid

setContentView(R.layout.radio_group_1);
mRadioGroup = (RadioGroup) findViewById(
R.id.menu);
// test adding a radio button programmat
ically
RadioButton newRadioButton = new RadioBu
tton(this);
newRadioButton.setText(R.string.radio_gr
oup_snack);
newRadioButton.setId(R.id.snack);
LinearLayout.LayoutParams layoutParams =
new RadioGroup.LayoutParams(
RadioGroup.LayoutParams.WRAP_CON
TENT,
RadioGroup.LayoutParams.WRAP_CON
TENT);
mRadioGroup.addView(newRadioButton, 0, l
ayoutParams);
// test listening to checked change even
ts
String selection = getString(R.string.ra
dio_group_selection);
mRadioGroup.setOnCheckedChangeListener(t
his);
mChoice = (TextView) findViewById(R.id.c
hoice);
mChoice.setText(selection + mRadioGroup.
getCheckedRadioButtonId());
// test clearing the selection
Button clearButton = (Button) findViewBy
Id(R.id.clear);
clearButton.setOnClickListener(this);
}
public void onCheckedChanged(RadioGroup grou
By : Yazid

p, int checkedId) {
String selection = getString(R.string.ra
dio_group_selection);
String none = getString(R.string.radio_g
roup_none);
mChoice.setText(selection +
(checkedId == View.NO_ID ? none
: checkedId));
}
public void onClick(View v) {
mRadioGroup.clearCheck();
}
}
//layout/radio_group_1.xml
<?xml version="1.0" encoding="utf-8"?>
<!- Copyright (C) 2007 The Android Open Source Pro
ject
Licensed under the Apache License, Version
2.0 (the "License");
you may not use this file except in complia
nce with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE
-2.0
Unless required by applicable law or agreed
to in writing, software
distributed under the License is distribute
d on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIN
D, either express or implied.
See the License for the specific language g
overning permissions and
limitations under the License.
By : Yazid

-->
<LinearLayout xmlns:android="http://schemas.andr
oid.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:checkedButton="@+id/lunch"
android:id="@+id/menu">
<RadioButton
android:text="@string/radio_group_1_
breakfast"
android:id="@+id/breakfast"
/>
<RadioButton
android:text="@string/radio_group_1_
lunch"
android:id="@id/lunch" />
<RadioButton
android:text="@string/radio_group_1_
dinner"
android:id="@+id/dinner" />
<RadioButton
android:text="@string/radio_group_1_
all"
android:id="@+id/all" />
<TextView
android:text="@string/radio_group_1_
selection"
android:id="@+id/choice" />
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_group_1_clea
By : Yazid

r"
android:id="@+id/clear" />
</LinearLayout>
7.

Penggunaa CheckBox
a.
Menambahkan CheckBox

package app.test;
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.widget.CheckBox;
android.widget.CompoundButton;

public class Test extends Activity implements


CompoundButton.OnCheckedChangeListener {
CheckBox cb;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
cb = (CheckBox) findViewById(R.id.check);
cb.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(CompoundButton bu
ttonView, boolean isChecked) {
if (isChecked) {
cb.setText("This checkbox is: checked");
} else {
cb.setText("This checkbox is: unchecked");
}
}
}

//main.xml
By : Yazid

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


<CheckBox xmlns:android="http://schemas.android.
com/apk/res/android"
android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This checkbox is: unchecked" /
>

b.

mengambil value dari CheckBox

package app.test;
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.CheckBox;

public class Test extends Activity {


CheckBox plain_cb;
CheckBox serif_cb;
CheckBox italic_cb;
CheckBox bold_cb;
@Override
public void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState);
setTitle("CheckBoxActivity");
setContentView(R.layout.main);
find_and_modify_text_view();
}
private void find_and_modify_text_view() {
plain_cb = (CheckBox) findViewById(R.id.plai
By : Yazid

n_cb);
serif_cb = (CheckBox) findViewById(R.id.seri
f_cb);
italic_cb = (CheckBox) findViewById(R.id.ita
lic_cb);
bold_cb = (CheckBox) findViewById(R.id.bold_
cb);
Button get_view_button = (Button) findViewBy
Id(R.id.get_view_button);
get_view_button.setOnClickListener(get_view_
button_listener);
}
private Button.OnClickListener get_view_button
_listener = new Button.OnClickListener() {
public void onClick(View v) {
String r = "";
if (plain_cb.isChecked()) {
r = r + "," + plain_cb.getText();
}
if (serif_cb.isChecked()) {
r = r + "," + serif_cb.getText();
}
if (italic_cb.isChecked()) {
r = r + "," + italic_cb.getText();
}
if (bold_cb.isChecked()) {
r = r + "," + bold_cb.getText();
}
setTitle("Checked: " + r);
}
};
}

//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.andr
By : Yazid

oid.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<CheckBox android:id="@+id/plain_cb"
android:text="Plain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<CheckBox android:id="@+id/serif_cb"
android:text="Serif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:typeface="serif"
/>
<CheckBox android:id="@+id/bold_cb"
android:text="Bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
/>
<CheckBox android:id ="@+id/italic_cb"
android:text="Italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="italic"
/>

<Button android:id="@+id/get_view_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get CheckBox" />

By : Yazid

</LinearLayout>

c.

Penerapan CheckBox

package app.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChange
Listener;
import android.widget.Toast;
import android.widget.ToggleButton;
public class Test extends Activity {
@Override
public void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnOpen = (Button) findViewById(R.id.
btnOpen);
btnOpen.setOnClickListener(new View.OnClickL
istener() {
public void onClick(View v) {
String str = "You have clicked the Open
button";
DisplayToast(str);
}
});
Button btnSave = (Button) findViewById(R.id.
By : Yazid

btnSave);
btnSave.setOnClickListener(new View.OnClickL
istener() {
public void onClick(View v) {
DisplayToast("You have clicked the Save
button");
}
});
CheckBox checkBox = (CheckBox) findViewById(
R.id.chkAutosave);
checkBox.setOnClickListener(new View.OnClick
Listener() {
public void onClick(View v) {
if (((CheckBox) v).isChecked())
DisplayToast("CheckBox is checked");
else
DisplayToast("CheckBox is unchecked");
}
});
RadioGroup radioGroup = (RadioGroup) findVie
wById(R.id.rdbGp1);
radioGroup.setOnCheckedChangeListener(new On
CheckedChangeListener() {
public void onCheckedChanged(RadioGroup gr
oup, int checkedId) {
RadioButton rb1 = (RadioButton) findView
ById(R.id.rdb1);
if (rb1.isChecked()) {
DisplayToast("Option 1 checked!");
} else {
DisplayToast("Option 2 checked!");
}
}
});
ToggleButton toggleButton = (ToggleButton) f
indViewById(R.id.toggle1);
toggleButton.setOnClickListener(new View.OnC
lickListener() {
public void onClick(View v) {
By : Yazid

if (((ToggleButton) v).isChecked())
DisplayToast("Toggle button is On");
else
DisplayToast("Toggle button is Off");
}
});
}
private void DisplayToast(String msg) {
Toast.makeText(getBaseContext(), msg, Toast.
LENGTH_SHORT).show();
}
}
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.andr
oid.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:id="@+id/btnSave"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Save" />
<Button android:id="@+id/btnOpen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Open" />
<ImageButton android:id="@+id/btnImg1"
By : Yazid

android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/icon" />
<EditText android:id="@+id/txtName"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<CheckBox android:id="@+id/chkAutosave"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Autosave" />
<CheckBox android:id="@+id/star"
style="?android:attr/starStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<RadioGroup android:id="@+id/rdbGp1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioButton android:id="@+id/rdb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 1" />
<RadioButton android:id="@+id/rdb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 2" />
</RadioGroup>
<ToggleButton android:id="@+id/toggle1"
android:layout_width="wrap_content"
By : Yazid

android:layout_height="wrap_content" />
</LinearLayout>

8.

AlertDialog
a.

Menampilkan Yes dan No

import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.ActivityManager.MemoryInfo;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickLi
stener;
import android.content.Intent;
import android.net.Uri;
import android.text.Html;
class Utils {
public static void showYesNoPrompt(Context _co
ntext, String title, String message, OnClickList
ener onYesListener, OnClickListener onNoListener
) {
AlertDialog.Builder builder = new AlertDialo
g.Builder(_context);
builder.setTitle(title);
builder.setIcon(android.R.drawable.ic_dialog
_info); // lame icon
builder.setMessage(message);
builder.setCancelable(false);
builder.setPositiveButton("Yes", onYesListen
er);
builder.setNegativeButton("No", onNoListener
);
builder.show();

By : Yazid

}
}

b. Menampilkan Popup saat aplikasi pertama kali dijalankan

import android.app.AlertDialog;
import android.content.Context;

class UIHelper {
public static void openFirstTimePopup(final Co
ntext context) {
final String html = "Thank you!";
final AlertDialog.Builder builder = new Aler
tDialog.Builder(context).
setCancelable(true).
setTitle("Welcome!").
setMessage(html).
setNegativeButton("Close",null);
final AlertDialog di = builder.create();
di.show();
}
}
c. Menampilkan Pesan

import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.ActivityManager.MemoryInfo;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickLi
stener;
import android.content.Intent;
import android.net.Uri;
By : Yazid

import android.text.Html;
class Utils {
public static void showMessage(Context _cont
ext, String title, String message, int icon, Dia
logInterface.OnClickListener ackHandler) {
AlertDialog.Builder builder = new AlertDia
log.Builder(_context);
builder.setTitle(title);
builder.setMessage(Html.fromHtml(message))
;
builder.setCancelable(false);
builder.setPositiveButton("Acknowledged",
ackHandler);
builder.setIcon(icon);
builder.show();
}
}
d. Menampilkan Alert

import android.app.AlertDialog.Builder;
import android.content.Context;
class Util {
public static void showAlert(Context context,
String title, String text,
boolean showOk) {
Builder alertBuilder = new Builder(context);
alertBuilder.setTitle(title);
alertBuilder.setMessage(text);
if (showOk)
alertBuilder.setNeutralButton("??", null);
alertBuilder.create().show();
}
public static void showAlert(Context context,
By : Yazid

String title, String text) {


showAlert(context, title, text, true);
}
}
e. Menampilkan Alert Bantuan

import
import
import
import
import
import

android.content.Context;
android.content.DialogInterface;
android.content.Intent;
android.net.Uri;
android.widget.Toast;
android.app.AlertDialog;

class Tools {
/**
* Helper Alert
* @param title
* @param message
*/
public static void AlertDialog(final Conte
xt ctx, final CharSequence title, final CharSequ
ence message) {
new AlertDialog.Builder(ctx)
// .setIcon(R.drawable.icon)
.setTitle(title)
.setMessage(message)
.setPositiveButton("Dismiss", new DialogIn
terface.OnClickListener() {
public void onClick(DialogInterfac
e dialog, int whichButton) {
}
})
.show();
}
}

By : Yazid

You might also like