You are on page 1of 9

Practical – 09: Develop a program to implement Button, Image Button and

Toggle Button
Exercise

Q1. Write a program to create a toggle button to display ON / OFF Bluetooth on the
display screen.

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


<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40dp"
android:layout_y="140dp"
android:fontFamily="@font/ubuntu"
android:text="Bluetooth"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.18"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.197" />

<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:layout_x="240dp"
android:layout_y="130dp"
android:fontFamily="@font/ubuntu"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.77"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.193" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Wi-Fi"
android:textSize="30sp"
android:textStyle="bold"
android:fontFamily="@font/ubuntu"
android:layout_x="40dp"
android:layout_y="240dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.18"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.197" />

<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:layout_x="240dp"
android:layout_y="230dp"
android:fontFamily="@font/ubuntu"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.77"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.193" />

</AbsoluteLayout>
Q2. Write a program to create a simple calculator.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="220dp"
android:layout_alignParentTop="true"
android:layout_marginBottom="40dp"
android:text="0"
android:textSize="80sp"
android:gravity="end"
android:paddingTop="20dp"
android:paddingRight="20dp"/>

<Button
android:id="@+id/btnclr"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/resultTextView"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btnpn"
android:layout_weight="1"
android:onClick="onClearButtonClick"
android:text="C"
android:textSize="30sp" />

<Button
android:id="@+id/btnpn"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/resultTextView"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btnper"
android:layout_weight="1"
android:text="+/-"
android:textSize="30sp" />

<Button
android:id="@+id/btnclr1"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/resultTextView"
android:layout_marginTop="12dp"
android:layout_alignParentEnd="true"
android:layout_weight="1"
android:text="C1"
android:textSize="30sp" />

<Button
android:id="@+id/btnper"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/resultTextView"
android:layout_toStartOf="@id/btndiv"
android:layout_marginTop="12dp"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="%"
android:textSize="30sp" />
<Button
android:id="@+id/btn7"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btnclr"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btn8"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="7"
android:textSize="30sp" />

<Button
android:id="@+id/btn8"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btnpn"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btn9"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="8"
android:textSize="30sp" />

<Button
android:id="@+id/btn9"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btnclr1"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btndiv"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="9"
android:textSize="30sp" />

<Button
android:id="@+id/btndiv"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btnper"
android:layout_alignParentEnd="true"
android:layout_marginTop="12dp"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="/"
android:textSize="30sp" />

<Button
android:id="@+id/btn4"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn7"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btn5"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="4"
android:textSize="30sp" />

<Button
android:id="@+id/btn5"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn8"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btn6"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="5"
android:textSize="30sp" />

<Button
android:id="@+id/btn6"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn9"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btnmul"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="6"
android:textSize="30sp" />

<Button
android:id="@+id/btnmul"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btndiv"
android:layout_alignParentEnd="true"
android:layout_marginTop="12dp"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="*"
android:textSize="30sp" />

<Button
android:id="@+id/btn1"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn4"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btn2"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="1"
android:textSize="30sp" />

<Button
android:id="@+id/btn2"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn5"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btn3"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="2"
android:textSize="30sp" />

<Button
android:id="@+id/btn3"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn6"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btnsub"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="3"
android:textSize="30sp" />

<Button
android:id="@+id/btnsub"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btnmul"
android:layout_alignParentEnd="true"
android:layout_marginTop="12dp"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="-"
android:textSize="30sp" />

<Button
android:id="@+id/btndec"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn1"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btn0"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="."
android:textSize="30sp" />

<Button
android:id="@+id/btn0"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn2"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btnequal"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="0"
android:textSize="30sp" />

<Button
android:id="@+id/btnequal"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btn3"
android:layout_marginTop="12dp"
android:layout_toStartOf="@id/btnadd"
android:layout_weight="1"
android:onClick="onEqualButtonClick"
android:text="="
android:textSize="30sp" />

<Button
android:id="@+id/btnadd"
android:layout_width="102dp"
android:layout_height="102dp"
android:layout_below="@id/btnsub"
android:layout_alignParentEnd="true"
android:layout_marginTop="12dp"
android:layout_weight="1"
android:onClick="onButtonClick"
android:text="+"
android:textSize="30sp" />

</RelativeLayout>

package com.practical8_2package.practical8_2;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.util.Log;
import org.mariuszgromada.math.mxparser.Expression;

public class MainActivity extends AppCompatActivity {

private TextView resultTextView;


private StringBuilder inputStringBuilder;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

resultTextView = findViewById(R.id.resultTextView);
inputStringBuilder = new StringBuilder();
}

public void onButtonClick(View view) {


Button button = (Button) view;
inputStringBuilder.append(button.getText());
updateResultText();
}

public void onEqualButtonClick(View view) {


try {
double result = eval(inputStringBuilder.toString());
inputStringBuilder.setLength(0);
inputStringBuilder.append(result);
updateResultText();
} catch (Exception e) {
inputStringBuilder.setLength(0);
inputStringBuilder.append("Error");
updateResultText();
}
}

public void onClearButtonClick(View view) {


resultTextView.setText("");
}

private void updateResultText() {


resultTextView.setText(inputStringBuilder.toString());
}

private double eval(String expression) {


try {
Expression exp = new Expression(expression);
return exp.calculate();
} catch (Exception e) {
Log.e("MainActivity", "Error evaluating expression", e);
return Double.NaN;
}
}
}

You might also like