Android studio 06_足し算(プロテイン計算)

 

アプリ名:protein

 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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/tv_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="たんぱく質計算"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_date1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="1/1"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_label" />

<!-- android:background="@drawable/border"-->
<EditText
android:id="@+id/et_detail1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@drawable/border"
android:ems="10"
android:gravity="left|top"
android:inputType="textMultiLine"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/tv_date1"
app:layout_constraintTop_toBottomOf="@+id/tv_label" />

<!-- android:background="@drawable/border"-->
<EditText
android:id="@+id/et_gram1"
android:layout_width="50dp"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@drawable/border"
android:ems="10"
android:inputType="number"
android:text="0"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/et_detail1"
app:layout_constraintTop_toBottomOf="@+id/tv_label" />

<TextView
android:id="@+id/tv_date2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="1/2"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_detail1" />

<!-- android:background="@drawable/border"-->
<EditText
android:id="@+id/et_detail2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:background="@drawable/border"
android:layout_marginTop="8dp"
android:ems="10"
android:gravity="left|top"
android:inputType="textMultiLine"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/tv_date2"
app:layout_constraintTop_toBottomOf="@+id/et_detail1" />

<!-- android:background="@drawable/border"-->
<EditText
android:id="@+id/et_gram2"
android:layout_width="50dp"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:background="@drawable/border"
android:layout_marginTop="8dp"
android:ems="10"
android:text="0"
android:inputType="number"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/et_detail1"
app:layout_constraintTop_toBottomOf="@+id/et_detail1" />

<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:hint="合計は?"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btn_result" />

<Button
android:id="@+id/btn_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="76dp"
android:text="計算する"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.495"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_detail2" />
</androidx.constraintlayout.widget.ConstraintLayout>

 

package com.example.protein

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// tv_date1 日付
// et_detail1 詳細
// et_gram1 グラム
// btn_result 計算するボタン
// tv_result 足し算の結果を表示

val et_gram1:EditText = findViewById(R.id.et_gram1)
val et_gram2:EditText = findViewById(R.id.et_gram2)
val tv_result:TextView = findViewById(R.id.tv_result)
val btn_result:Button = findViewById(R.id.btn_result)

//Int数字、String文字列
btn_result.setOnClickListener {
// ||または
if (et_gram1.text.toString() == ("") || et_gram2.text.toString() == ("")) {
//エラー処理(トースト)
Toast.makeText(this, "全てに数字を入力してください", Toast.LENGTH_LONG).show()
} else {
val sum:Int = et_gram1.text.toString().toInt()+et_gram2.text.toString().toInt()
tv_result.text = sum.toString()
}
}
}
}

 

以下、border.xml を drawbleに新規作成します。
名前:border
shapeタグ(”select”ではなく)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="#ffc800" />
<!-- #000000 ブラックなら  -->
</shape>

コメントを残す

メールアドレスが公開されることはありません。