diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1719529..1a4e8be 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -44,6 +44,7 @@ implementation(libs.retrofit2.retrofit) implementation(libs.converter.jackson) implementation(libs.navigation.runtime.android) + 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..21e3aae 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,12 +1,20 @@ 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.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; @@ -16,6 +24,14 @@ public class MainActivity extends AppCompatActivity { + private EditText editMessage; + private ImageButton sendButton; + private GridView wordGroup; + private LinearLayout messageList; + //アクティビティの選択肢 + private String[] words = {"ひまnow","あそぼ!","そろそろ会いたない〜?", "勉強なう", "電話しよ~", "お風呂入ってくる~","今暇だよー!","いそがしい~!!"}; + private Button openDialogButton; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -54,5 +70,78 @@ // } // }); + messageList = findViewById(R.id.messageList); + + // ボタンを押すとダイアログ表示(トリガー用) + openDialogButton = findViewById(R.id.openDialogButton); + openDialogButton.setOnClickListener(v -> showInputDialog()); + + } + private void showInputDialog() { + // カスタムビュー読み込み + View dialogView = getLayoutInflater().inflate(R.layout.main_dialog, null); + EditText editTextInput = dialogView.findViewById(R.id.editTextInput); + GridView wordGrid = dialogView.findViewById(R.id.wordGrid); + ImageButton sendButton = dialogView.findViewById(R.id.sendButton); + + // 語群セット + ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, words); + wordGrid.setAdapter(adapter); + + // 語群クリックで入力欄にセット + wordGrid.setOnItemClickListener((parent, view, position, id) -> { + editTextInput.setText(words[position]); + // 入力欄にフォーカス&キーボード表示 + editTextInput.requestFocus(); + InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); + imm.showSoftInput(editTextInput, InputMethodManager.SHOW_IMPLICIT); + }); + + // ダイアログ生成 + AlertDialog dialog = new AlertDialog.Builder(this) + .setView(dialogView) + .create(); + + // 送信ボタン処理 + sendButton.setOnClickListener(v -> { + String message = editTextInput.getText().toString().trim(); + int length = message.length(); + if (!message.isEmpty()) { + if(length > 20){ + openDialogButton.setTextSize(7); + }else if(length > 10){ + openDialogButton.setTextSize(10); + }else{ + openDialogButton.setTextSize(12); + } + openDialogButton.setMaxLines(10); + openDialogButton.setLineSpacing(4.0f,1.2f); + openDialogButton.setText(message); + editTextInput.setText(""); + dialog.dismiss(); // ダイアログを閉じる + }else{ + openDialogButton.setText(""); + } + }); + + dialog.show(); + } + + private void addMessageToHome(String message) { + TextView textView = new TextView(this); + textView.setText(message); + textView.setPadding(10, 10, 10, 10); + textView.setBackgroundColor(Color.parseColor("#E0E0E0")); + int length = message.length(); + if(length > 10){ + textView.setTextSize(5); + }else if(length > 7){ + textView.setTextSize(8); + }else{ + textView.setTextSize(10); + } + textView.setMaxLines(10); + textView.setLineSpacing(4.0f,1.2f); + messageList.addView(textView); } } \ 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..ff32829 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" + android:background="#E0F7FA" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".views.MainActivity"> @@ -52,15 +53,67 @@ 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"/> + + + + + + + + + + + + +