Now App supports Multiple Screens

This commit is contained in:
adpth 2020-11-04 00:01:47 +05:30
parent 64c70ce271
commit 5428ae08b0
4 changed files with 192 additions and 45 deletions

View File

@ -1,13 +1,13 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.adpth.bmicalculator"
minSdkVersion 16
targetSdkVersion 29
targetSdkVersion 30
versionCode 1
versionName "1.0"
@ -21,18 +21,14 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
viewBinding = true
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.cardview:cardview:1.0.0'
testImplementation 'junit:junit:4.13'
testImplementation 'junit:junit:4.13.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.github.DanielMartinus:Stepper-Touch:0.6'

View File

@ -9,43 +9,54 @@ import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import com.adpth.bmicalculator.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
float height,weight;
TextView height_txt,age;
int count_weight = 50,count_age = 19;
RelativeLayout weight_plus, weight_minus, age_plus, age_minus;
boolean male_clk = true, female_clk = true, check1 = true, check2 = true;
private ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
View view = binding.getRoot();
setContentView(view);
setContentView(R.layout.activity_main);
binding.cardViewMale.setOnClickListener(new View.OnClickListener() {
height_txt = findViewById(R.id.height_txt);
final TextView female_text = findViewById(R.id.female);
final TextView male_text = findViewById(R.id.male);
CardView card_female = findViewById(R.id.cardView_female);
CardView card_male = findViewById(R.id.cardView_male);
age_minus = findViewById(R.id.age_minus);
age_plus = findViewById(R.id.age_plus);
weight_minus = findViewById(R.id.weight_minus);
weight_plus = findViewById(R.id.weight_plus);
card_male.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (check1) {
if (male_clk) {
binding.male.setTextColor(Color.parseColor("#FFFFFF"));
binding.male.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.male_white,0,0);
male_text.setTextColor(Color.parseColor("#FFFFFF"));
male_text.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.male_white,0,0);
male_clk = false;
check2 = false;
} else {
binding.male.setTextColor(Color.parseColor("#8D8E99"));
binding.male.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.male,0,0);
male_text.setTextColor(Color.parseColor("#8D8E99"));
male_text.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.male,0,0);
male_clk = true;
check2 = true;
}
@ -53,20 +64,20 @@ public class MainActivity extends AppCompatActivity {
}
});
binding.cardViewFemale.setOnClickListener(new View.OnClickListener() {
card_female.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (check2) {
if (female_clk) {
binding.female.setTextColor(Color.parseColor("#FFFFFF"));
binding.female.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.female_white,0,0);
female_text.setTextColor(Color.parseColor("#FFFFFF"));
female_text.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.female_white,0,0);
female_clk = false;
check1 = false;
}
else {
binding.female.setTextColor(Color.parseColor("#8D8E99"));
binding.female.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.female,0,0);
female_text.setTextColor(Color.parseColor("#8D8E99"));
female_text.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.female,0,0);
female_clk = true;
check1 = true;
}
@ -80,7 +91,8 @@ public class MainActivity extends AppCompatActivity {
CheckAge();
binding.calculate.setOnClickListener(new View.OnClickListener() {
Button calculate = findViewById(R.id.calculate);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CalculateBMI();
@ -92,52 +104,57 @@ public class MainActivity extends AppCompatActivity {
private void CheckAge() {
binding.agePlus.setOnClickListener(new View.OnClickListener() {
age = findViewById(R.id.age);
age_plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
count_age++;
binding.age.setText(String.valueOf(count_age));
age.setText(String.valueOf(count_age));
}
});
binding.ageMinus.setOnClickListener(new View.OnClickListener() {
age_minus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
count_age--;
binding.age.setText(String.valueOf(count_age));
age.setText(String.valueOf(count_age));
}
});
}
private void CheckWeight() {
binding.weightPlus.setOnClickListener(new View.OnClickListener() {
final TextView weight_txt = findViewById(R.id.weight);
weight_plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
count_weight++;
binding.weight.setText(String.valueOf(count_weight));
weight_txt.setText(String.valueOf(count_weight));
}
});
binding.weightMinus.setOnClickListener(new View.OnClickListener() {
weight_minus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
count_weight--;
binding.weight.setText(String.valueOf(count_weight));
weight_txt.setText(String.valueOf(count_weight));
}
});
weight = Float.parseFloat(binding.weight.getText().toString());
weight = Float.parseFloat(weight_txt.getText().toString());
}
private void CheckSeekbarStatus() {
binding.Seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
SeekBar Seekbar = findViewById(R.id.Seekbar);
Seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
String ht = progress + getResources().getString(R.string.cm);
binding.heightTxt.setText(ht);
height_txt.setText(ht);
height = (float)(progress)/100;
}
@ -158,7 +175,7 @@ public class MainActivity extends AppCompatActivity {
float BMI = weight / (height * height);
Intent intent = new Intent(MainActivity.this,ResultActivity.class);
intent.putExtra("BMI",BMI);
intent.putExtra("age",binding.age.getText().toString());
intent.putExtra("age",age.getText().toString());
startActivity(intent);
}
}

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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"
android:background="@color/background"
tools:context=".ResultActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/your_result"
android:textColor="@android:color/white"
android:textSize="40sp"
android:layout_margin="16dp"
android:textStyle="bold"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:layout_constraintBottom_toTopOf="@+id/result_card"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.cardview.widget.CardView
android:id="@+id/result_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
app:cardBackgroundColor="@color/card_background"
app:cardCornerRadius="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:id="@+id/condition"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20sp"
android:textColor="#5ADC65"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/your_bmi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="@android:color/white"
android:textSize="50sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/normal_bmi_range"
android:textColor="#8D8E99"
android:textSize="21sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/_18_5_25_kg_m2"
android:textColor="@android:color/white"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/your_age"
android:textColor="@color/colorAccent"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="20sp" />
<TextView
android:id="@+id/category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:gravity="center_horizontal"
android:textColor="@android:color/white"
android:textSize="20sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<Button
android:id="@+id/recalculate"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_marginTop="32dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="32dp"
android:background="@drawable/calculate_btn"
android:text="@string/recalculate"
android:textColor="@android:color/white"
android:textSize="17sp"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@+id/result_card"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View File

@ -11,13 +11,13 @@
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:text="@string/your_result"
android:textColor="@android:color/white"
android:textSize="40sp"
android:layout_margin="16dp"
android:textStyle="bold"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:layout_constraintBottom_toTopOf="@+id/result_card"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -32,6 +32,7 @@
app:cardBackgroundColor="@color/card_background"
app:cardCornerRadius="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView">
@ -111,10 +112,7 @@
android:id="@+id/recalculate"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="32dp"
android:background="@drawable/calculate_btn"
@ -124,7 +122,7 @@
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>