diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 17e4369..f51a2c7 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -43,6 +43,7 @@ implementation(libs.recyclerview) implementation(libs.retrofit2.retrofit) implementation(libs.converter.jackson) + implementation (libs.material.v1100) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) diff --git a/app/src/main/java/com/example/tampopo_client/views/MainActivity.java b/app/src/main/java/com/example/tampopo_client/views/MainActivity.java index c253be2..237e7c0 100644 --- a/app/src/main/java/com/example/tampopo_client/views/MainActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/MainActivity.java @@ -1,10 +1,17 @@ package com.example.tampopo_client.views; import android.content.Intent; +import android.graphics.Color; import android.os.Bundle; import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.ArrayAdapter; import android.widget.Button; +import android.widget.EditText; +import android.widget.GridView; import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.TextView; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; @@ -16,6 +23,12 @@ public class MainActivity extends AppCompatActivity { + private EditText editMessage; + private ImageButton sendButton; + private GridView wordGroup; + private LinearLayout messageList; + private String[] words = {"そろそろ会いたいね〜", "今暇だよー", "勉強しよ〜", "ごはんいこ〜"}; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -54,5 +67,44 @@ // } // }); + editMessage = findViewById(R.id.editMessage); + sendButton = findViewById(R.id.sendButton); + wordGroup = findViewById(R.id.wordGroup); + messageList = findViewById(R.id.messageList); + + // 語群セット + ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, words); + wordGroup.setAdapter(adapter); + + editMessage.setOnFocusChangeListener((v, hasFocus) -> { + if (hasFocus) { + wordGroup.setVisibility(View.GONE); + } + }); + + // 「あそぼ!」的なトリガータップ(ここでは GridView の表示で代用) + findViewById(R.id.editMessage).setOnClickListener(v -> { + wordGroup.setVisibility(View.VISIBLE); + }); + + // 語群から選択 → 入力欄にセット + wordGroup.setOnItemClickListener((parent, view, position, id) -> { + editMessage.setText(words[position]); + wordGroup.setVisibility(View.GONE); + }); + + // 送信ボタン処理 + sendButton.setOnClickListener(v -> { + String message = editMessage.getText().toString(); + if (!message.isEmpty()) { + TextView textView = new TextView(this); + textView.setText(message); + textView.setPadding(10, 10, 10, 10); + textView.setBackgroundColor(Color.parseColor("#E0E0E0")); + messageList.addView(textView); + + editMessage.setText(""); + } + }); } } \ No newline at end of file diff --git a/app/src/main/res/drawable/comment.png b/app/src/main/res/drawable/comment.png new file mode 100644 index 0000000..963fbb5 --- /dev/null +++ b/app/src/main/res/drawable/comment.png Binary files differ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8685ed1..b776417 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -52,15 +52,81 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0" /> - + app:layout_constraintVertical_bias="0.534" + app:shapeAppearance="@style/circle" + app:strokeColor="@color/black" + app:strokeWidth="2dp"/> + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 97bf585..4c0994a 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -6,4 +6,8 @@ \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7db8943..cdf3fdb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,6 +8,7 @@ activity = "1.9.3" constraintlayout = "2.2.0" legacySupportV4 = "1.0.0" +materialVersion = "1.10.0" recyclerview = "1.3.2" retrofit = "3.1.0-SNAPSHOT" retrofitVersion = "3.0.0" @@ -22,6 +23,7 @@ activity = { group = "androidx.activity", name = "activity", version.ref = "activity" } constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } legacy-support-v4 = { group = "androidx.legacy", name = "legacy-support-v4", version.ref = "legacySupportV4" } +material-v1100 = { module = "com.google.android.material:material", version.ref = "materialVersion" } recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" } retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } retrofit2-retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofitVersion" }