diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b19b47f..9d1c6dc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -98,17 +98,18 @@
android:exported="false" />
-
+ android:exported="false"
+ android:windowSoftInputMode="adjustPan"/>
+
+
+
+
+
-
+
{
friendRecyclerView.setVisibility(View.VISIBLE);
@@ -133,6 +134,7 @@
}
});
+
//idからアカウント名を検索するためのAccountViewModelを宣言しておく
AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class);
@@ -145,45 +147,43 @@
EditText editSearchId = findViewById(R.id.inputRequestingId);
String searchingId = editSearchId.getText().toString();
- //IDが存在しなければ落ちるのでその処理を書く
- //取得したIDからアカウントを読み込んでおく
+ //取得したIDからアカウントを読み込む(検索用のOnChangedへ)
accountViewModel.fetchAccount(searchingId);
- //検索用LiveDataへの購読
- accountViewModel.getAccountLiveData().observe(FriendActivity.this, new Observer() {
-
- //ViewModelからアカウントが返ってくれば(データ変更があれば)実行
- @Override
- public void onChanged(Account user) {
- if(user == null){
- new AlertDialog.Builder(FriendActivity.this)
- .setTitle("IDが間違っています")
- .setPositiveButton("OK", null)
- .create()
- .show();
- }else {
- requestingName = (user.getName());
-
- //申請を送るダイアログ
- RequestingDialogFragment dialog = new RequestingDialogFragment(FriendActivity.this);
- //名前を渡す
- Bundle args = new Bundle();
- args.putString("message", requestingName);
- dialog.setArguments(args);
-
- //ダイアログの表示
- dialog.show(getSupportFragmentManager(), "Requesting_dialog");
- //OK押したら申請するメソッドにuid、requestingId、tokenを渡す
- }
- }
- });
}
+ });
+ //検索用LiveDataへの購読
+ accountViewModel.getAccountLiveData().observe(FriendActivity.this, new Observer() {
+ //ViewModelからアカウントが返ってくれば(データ変更があれば)実行
+ @Override
+ public void onChanged(Account user) {
+ if(user == null){
+ new AlertDialog.Builder(FriendActivity.this)
+ .setTitle("IDが間違っています")
+ .setPositiveButton("OK", null)
+ .create()
+ .show();
+ }else {
+ requestingName = (user.getName());
+
+ //申請を送るダイアログ
+ RequestingDialogFragment dialog = new RequestingDialogFragment(FriendActivity.this);
+ //名前を渡す
+ Bundle args = new Bundle();
+ args.putString("message", requestingName);
+ dialog.setArguments(args);
+
+ //ダイアログの表示
+ dialog.show(getSupportFragmentManager(), "Requesting_dialog");
+ //OK押したら申請するメソッドにuid、requestingId、tokenを渡す
+ }
+ }
});
//RecyclerView(表示の設定、直接表示するところはLivedataを購読しているonChanged内に)
- List requestingDataList = new ArrayList<>();
+ List requestingDataList = new ArrayList<>();
//xmlからrvにRecyclerViewを取得
RecyclerView rv_r = (RecyclerView) findViewById(R.id.requestingList);
@@ -232,7 +232,7 @@
//受け取ったLivedataの要素分繰り返し、セット
for (AccountNameJson user: requestingUsers) {
//dataを宣言 dataに投稿の必要なデータをセットし、それをpostsDatasetに追加してリストを作る
- RequestingActivity.RequestingDataModel data = new RequestingActivity.RequestingDataModel();
+ RequestingDataModel data = new RequestingDataModel();
data.setName(user.getName());
data.setId(user.getUid());
@@ -351,13 +351,13 @@
//Adapter
public class RequestingAdapter extends RecyclerView.Adapter {
- private List list;
+ private List list;
- public RequestingAdapter(List list) {
+ public RequestingAdapter(List list) {
this.list =list;
}
- public void setList(List list) {
+ public void setList(List list) {
this.list = list;
}
diff --git a/app/src/main/java/com/example/nemophila/MyPageActivity.java b/app/src/main/java/com/example/nemophila/MyPageActivity.java
index f90011a..d332234 100644
--- a/app/src/main/java/com/example/nemophila/MyPageActivity.java
+++ b/app/src/main/java/com/example/nemophila/MyPageActivity.java
@@ -66,7 +66,7 @@
Button requestingButton = (Button) findViewById(R.id.requesting);
requestingButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
- Intent intent = new Intent(MyPageActivity.this, RequestingActivity.class);
+ Intent intent = new Intent(MyPageActivity.this, FriendActivity.class);
startActivity(intent);
}
});
diff --git a/app/src/main/java/com/example/nemophila/RequestingActivity.java b/app/src/main/java/com/example/nemophila/RequestingActivity.java
index 69f77ad..f2a6f78 100644
--- a/app/src/main/java/com/example/nemophila/RequestingActivity.java
+++ b/app/src/main/java/com/example/nemophila/RequestingActivity.java
@@ -1,286 +1,286 @@
-package com.example.nemophila;
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.recyclerview.widget.DividerItemDecoration;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import android.app.AlertDialog;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import com.example.nemophila.entities.Account;
-import com.example.nemophila.entities.AccountNameJson;
-import com.example.nemophila.entities.ErrorType;
-import com.example.nemophila.entities.Post;
-import com.example.nemophila.viewmodels.AccountViewModel;
-import com.example.nemophila.viewmodels.FriendViewModel;
-import com.example.nemophila.viewmodels.PostsViewModel;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class RequestingActivity extends AppCompatActivity {
-
- FriendViewModel friendViewModel;
- String uid;
- String token;
- String requestingId;
- String requestingName;
- String searchingId;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_requesting);
- //Nemophilaから自分のuidとtokenを取得
- uid = ((Nemophila)getApplication()).getUid();
- token = ((Nemophila)getApplication()).getToken();
-
- //左上のボタンでマイページへ遷移
- Button returnButton = (Button)findViewById(R.id.requestingAcReturnButton);
- returnButton.setOnClickListener(new View.OnClickListener(){
- public void onClick(View v){
- Intent intent = new Intent(getApplication(), MyPageActivity.class);
- startActivity(intent);
- }
- });
-
- //idからアカウント名を検索するためのAccountViewModelを宣言しておく
- AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class);
-
- //フレンド検索ボタン
- Button requestingButton = (Button)findViewById(R.id.requestingSearchButton);
- requestingButton.setOnClickListener(new View.OnClickListener(){
-
- @Override
- public void onClick(View v){
- //入力されたIDを取得
- EditText editSearchId = (EditText) findViewById(R.id.inputRequestingId);
- searchingId = editSearchId.getText().toString();
- //取得したIDからアカウントを読み込み、検索用LiveDataのonChangeへ
- accountViewModel.fetchAccount(searchingId);
- }
- });
-
- //検索用LiveDataへの購読
- accountViewModel.getAccountLiveData().observe(RequestingActivity.this, new Observer() {
-
- //ViewModelから検索結果が返ってくれば(データ変更があれば)実行
- @Override
- public void onChanged(Account user) {
-
- if (user == null) {
- new AlertDialog.Builder(RequestingActivity.this)
- .setTitle("IDが間違っています")
- .setPositiveButton("OK", null)
- .create()
- .show();
- } else {
- requestingName = (user.getName());
-
- //申請を送るダイアログ
+//package com.example.nemophila;
+//
+//import androidx.annotation.NonNull;
+//import androidx.appcompat.app.AppCompatActivity;
+//import androidx.lifecycle.Observer;
+//import androidx.lifecycle.ViewModelProvider;
+//import androidx.recyclerview.widget.DividerItemDecoration;
+//import androidx.recyclerview.widget.LinearLayoutManager;
+//import androidx.recyclerview.widget.RecyclerView;
+//
+//import android.app.AlertDialog;
+//import android.content.DialogInterface;
+//import android.content.Intent;
+//import android.os.Bundle;
+//import android.view.LayoutInflater;
+//import android.view.View;
+//import android.view.ViewGroup;
+//import android.widget.Button;
+//import android.widget.EditText;
+//import android.widget.ImageView;
+//import android.widget.TextView;
+//import android.widget.Toast;
+//
+//import com.example.nemophila.entities.Account;
+//import com.example.nemophila.entities.AccountNameJson;
+//import com.example.nemophila.entities.ErrorType;
+//import com.example.nemophila.entities.Post;
+//import com.example.nemophila.viewmodels.AccountViewModel;
+//import com.example.nemophila.viewmodels.FriendViewModel;
+//import com.example.nemophila.viewmodels.PostsViewModel;
+//
+//import java.util.ArrayList;
+//import java.util.Collection;
+//import java.util.List;
+//
+//public class RequestingActivity extends AppCompatActivity {
+//
+// FriendViewModel friendViewModel;
+// String uid;
+// String token;
+// String requestingId;
+// String requestingName;
+// String searchingId;
+//
+// @Override
+// protected void onCreate(Bundle savedInstanceState) {
+// super.onCreate(savedInstanceState);
+// setContentView(R.layout.activity_requesting);
+// //Nemophilaから自分のuidとtokenを取得
+// uid = ((Nemophila)getApplication()).getUid();
+// token = ((Nemophila)getApplication()).getToken();
+//
+// //左上のボタンでマイページへ遷移
+// Button returnButton = (Button)findViewById(R.id.requestingAcReturnButton);
+// returnButton.setOnClickListener(new View.OnClickListener(){
+// public void onClick(View v){
+// Intent intent = new Intent(getApplication(), MyPageActivity.class);
+// startActivity(intent);
+// }
+// });
+//
+// //idからアカウント名を検索するためのAccountViewModelを宣言しておく
+// AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class);
+//
+// //フレンド検索ボタン
+// Button requestingButton = (Button)findViewById(R.id.requestingSearchButton);
+// requestingButton.setOnClickListener(new View.OnClickListener(){
+//
+// @Override
+// public void onClick(View v){
+// //入力されたIDを取得
+// EditText editSearchId = (EditText) findViewById(R.id.inputRequestingId);
+// searchingId = editSearchId.getText().toString();
+// //取得したIDからアカウントを読み込み、検索用LiveDataのonChangeへ
+// accountViewModel.fetchAccount(searchingId);
+// }
+// });
+//
+// //検索用LiveDataへの購読
+// accountViewModel.getAccountLiveData().observe(RequestingActivity.this, new Observer() {
+//
+// //ViewModelから検索結果が返ってくれば(データ変更があれば)実行
+// @Override
+// public void onChanged(Account user) {
+//
+// if (user == null) {
+// new AlertDialog.Builder(RequestingActivity.this)
+// .setTitle("IDが間違っています")
+// .setPositiveButton("OK", null)
+// .create()
+// .show();
+// } else {
+// requestingName = (user.getName());
+//
+// //申請を送るダイアログ
// RequestingDialogFragment dialog = new RequestingDialogFragment(RequestingActivity.this);
- //名前を渡す
- Bundle args = new Bundle();
- args.putString("message", requestingName);
+// //名前を渡す
+// Bundle args = new Bundle();
+// args.putString("message", requestingName);
// dialog.setArguments(args);
-
- //ダイアログの表示
+//
+// //ダイアログの表示
// dialog.show(getSupportFragmentManager(), "Requesting_dialog");
- //OK押したら申請するメソッドにuid、requestingId、tokenを渡す
- }
- }
- });
-
- //FriendViewModelの初期化
- friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class);
-
- //エラーコードを購読
- friendViewModel.getErrorLiveData().observe(RequestingActivity.this, new Observer() {
- @Override
- public void onChanged(String error) {
-
- if (error == ErrorType.ResponseError.getText()) {
- new AlertDialog.Builder(RequestingActivity.this)
- .setTitle("既にフレンド、申請を受けているなどの理由で申請できません")
- .setPositiveButton("OK", null)
- .create()
- .show();
- }
- }
- });
-
- //RecyclerView(表示の設定、直接表示するところはLivedataを購読しているonChanged内に)
- List requestingDataList = new ArrayList<>();
-
- //xmlからrvにRecyclerViewを取得
- RecyclerView rv = (RecyclerView) findViewById(R.id.requestingList);
-
- //アダプターを宣言し、削除ボタンを押したときの処理をオーバーライド
- RequestingAdapter adapter = new RequestingAdapter(requestingDataList){
- @Override
- void onDeleteClick(View view, int position, RequestingDataModel user) {
- new AlertDialog.Builder(RequestingActivity.this)
- .setTitle(user.getName() + "さんへの申請を削除しますか?")
- .setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(RequestingActivity.this, user.getName(), Toast.LENGTH_SHORT).show();
- friendViewModel.deleteRequesting(uid, user.getId(), token);
- }
- })
- .setNegativeButton("キャンセル", null)
- .create()
- .show();
- }
- };
-
- //一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言
- LinearLayoutManager llm = new LinearLayoutManager(this);
- //データごとの区切り線を入れる
- RecyclerView.ItemDecoration itemDecoration =
- new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
- rv.addItemDecoration(itemDecoration);
-
- rv.setHasFixedSize(true);
- rv.setLayoutManager(llm);
-
- //FriendViewModelを初期化し、申請先のデータをロードしておく
- friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class);
- friendViewModel.getRequesting(uid);
-
- //申請先の一覧のLiveDataへの購読
- friendViewModel.getRequestingLiveData().observe(this, new Observer>() {
- //データに変更があった時実行
- @Override
- public void onChanged(Collection requestingUsers) {
-
- //表示用のDataListを一旦クリアし、LiveDataから受け取ったデータを一つずつセット(重複しないように)
- requestingDataList.clear();
- //受け取ったLivedataの要素分繰り返し、セット
- for (AccountNameJson user: requestingUsers) {
- //申請先1人に必要な情報をセットするdataを宣言
- RequestingDataModel data = new RequestingDataModel();
- //dataをpostsDatasetに追加してリストを作る
- data.setName(user.getName());
- data.setId(user.getUid());
-
- //申請先一つの情報がdataに全部セットされたらDatasetに追加 重複していたら追加しない
- if(!(requestingDataList.contains(data))) {
- requestingDataList.add(0, data);
- }
- }
-
- //onChange内に書くべき表示部分
- adapter.setList(requestingDataList);
- rv.setAdapter(adapter);
- }
- });
- }
-
-
- //ダイアログでOKを押した時に呼び出される フレンド申請を送るメソッド
- public void putRequesting(){
- requestingId = searchingId;
- friendViewModel.putRequesting(uid, requestingId, requestingName, token);
- }
-
- //RecyclerViewのための内部クラス
- //Adapter
- public class RequestingAdapter extends RecyclerView.Adapter {
-
- private List list;
-
- public RequestingAdapter(List list) {
- this.list =list;
- }
-
- public void setList(List list) {
- this.list = list;
- }
-
- @NonNull
- @Override
- public RequestingViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- //1データあたりのレイアウトを読み込み、ビューホルダーを宣言
- View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requesting_activity, parent,false);
- RequestingViewHolder vh = new RequestingViewHolder(inflate);
-
- // リスト内の削除ボタンを押した時の処理
- vh.deleteButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- int position = vh.getBindingAdapterPosition();
- // 処理はonDeleteClickに
- onDeleteClick(v, position, list.get(position));
- }
- });
-
- return vh;
- }
-
- @Override
- public void onBindViewHolder(@NonNull RequestingViewHolder holder, int position) {
- holder.nameView.setText(list.get(position).getName());
- }
-
- @Override
- public int getItemCount() {
- return list.size();
- }
-
- void onDeleteClick(View view, int position, RequestingDataModel requesting) {
- // このメソッドをActivity内でオーバーライドして、クリックイベントの処理を設定する
- }
- }
-
- //ViewHolder
- public class RequestingViewHolder extends RecyclerView.ViewHolder {
- public TextView nameView;
- public ImageView iconView;
- public Button deleteButton;
-
- public RequestingViewHolder(@NonNull View itemView) {
- super(itemView);
- nameView = (TextView) itemView.findViewById(R.id.requestingName);
- iconView = itemView.findViewById(R.id.requestingIcon);
- deleteButton = itemView.findViewById(R.id.requestingDeleteButton);
- }
- }
-
- //DataModel
- public static class RequestingDataModel extends FriendActivity.RequestingDataModel {
- private String name;
- private String id;
-
- public String getName() {
- return name;
- }
- public String getId() {
- return id;
- }
-
- public void setName(String name) {
- this.name = name;
- }
- public void setId(String id){
- this.id = id;
- }
-
- }
-
-}
\ No newline at end of file
+// //OK押したら申請するメソッドにuid、requestingId、tokenを渡す
+// }
+// }
+// });
+//
+// //FriendViewModelの初期化
+// friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class);
+//
+// //エラーコードを購読
+// friendViewModel.getErrorLiveData().observe(RequestingActivity.this, new Observer() {
+// @Override
+// public void onChanged(String error) {
+//
+// if (error == ErrorType.ResponseError.getText()) {
+// new AlertDialog.Builder(RequestingActivity.this)
+// .setTitle("既にフレンド、申請を受けているなどの理由で申請できません")
+// .setPositiveButton("OK", null)
+// .create()
+// .show();
+// }
+// }
+// });
+//
+// //RecyclerView(表示の設定、直接表示するところはLivedataを購読しているonChanged内に)
+// List requestingDataList = new ArrayList<>();
+//
+// //xmlからrvにRecyclerViewを取得
+// RecyclerView rv = (RecyclerView) findViewById(R.id.requestingList);
+//
+// //アダプターを宣言し、削除ボタンを押したときの処理をオーバーライド
+// RequestingAdapter adapter = new RequestingAdapter(requestingDataList){
+// @Override
+// void onDeleteClick(View view, int position, RequestingDataModel user) {
+// new AlertDialog.Builder(RequestingActivity.this)
+// .setTitle(user.getName() + "さんへの申請を削除しますか?")
+// .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+// @Override
+// public void onClick(DialogInterface dialog, int which) {
+// Toast.makeText(RequestingActivity.this, user.getName(), Toast.LENGTH_SHORT).show();
+// friendViewModel.deleteRequesting(uid, user.getId(), token);
+// }
+// })
+// .setNegativeButton("キャンセル", null)
+// .create()
+// .show();
+// }
+// };
+//
+// //一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言
+// LinearLayoutManager llm = new LinearLayoutManager(this);
+// //データごとの区切り線を入れる
+// RecyclerView.ItemDecoration itemDecoration =
+// new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
+// rv.addItemDecoration(itemDecoration);
+//
+// rv.setHasFixedSize(true);
+// rv.setLayoutManager(llm);
+//
+// //FriendViewModelを初期化し、申請先のデータをロードしておく
+// friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class);
+// friendViewModel.getRequesting(uid);
+//
+// //申請先の一覧のLiveDataへの購読
+// friendViewModel.getRequestingLiveData().observe(this, new Observer>() {
+// //データに変更があった時実行
+// @Override
+// public void onChanged(Collection requestingUsers) {
+//
+// //表示用のDataListを一旦クリアし、LiveDataから受け取ったデータを一つずつセット(重複しないように)
+// requestingDataList.clear();
+// //受け取ったLivedataの要素分繰り返し、セット
+// for (AccountNameJson user: requestingUsers) {
+// //申請先1人に必要な情報をセットするdataを宣言
+// RequestingDataModel data = new RequestingDataModel();
+// //dataをpostsDatasetに追加してリストを作る
+// data.setName(user.getName());
+// data.setId(user.getUid());
+//
+// //申請先一つの情報がdataに全部セットされたらDatasetに追加 重複していたら追加しない
+// if(!(requestingDataList.contains(data))) {
+// requestingDataList.add(0, data);
+// }
+// }
+//
+// //onChange内に書くべき表示部分
+// adapter.setList(requestingDataList);
+// rv.setAdapter(adapter);
+// }
+// });
+// }
+//
+//
+// //ダイアログでOKを押した時に呼び出される フレンド申請を送るメソッド
+// public void putRequesting(){
+// requestingId = searchingId;
+// friendViewModel.putRequesting(uid, requestingId, requestingName, token);
+// }
+//
+// //RecyclerViewのための内部クラス
+// //Adapter
+// public class RequestingAdapter extends RecyclerView.Adapter {
+//
+// private List list;
+//
+// public RequestingAdapter(List list) {
+// this.list =list;
+// }
+//
+// public void setList(List list) {
+// this.list = list;
+// }
+//
+// @NonNull
+// @Override
+// public RequestingViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+// //1データあたりのレイアウトを読み込み、ビューホルダーを宣言
+// View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requesting_activity, parent,false);
+// RequestingViewHolder vh = new RequestingViewHolder(inflate);
+//
+// // リスト内の削除ボタンを押した時の処理
+// vh.deleteButton.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// int position = vh.getBindingAdapterPosition();
+// // 処理はonDeleteClickに
+// onDeleteClick(v, position, list.get(position));
+// }
+// });
+//
+// return vh;
+// }
+//
+// @Override
+// public void onBindViewHolder(@NonNull RequestingViewHolder holder, int position) {
+// holder.nameView.setText(list.get(position).getName());
+// }
+//
+// @Override
+// public int getItemCount() {
+// return list.size();
+// }
+//
+// void onDeleteClick(View view, int position, RequestingDataModel requesting) {
+// // このメソッドをActivity内でオーバーライドして、クリックイベントの処理を設定する
+// }
+// }
+//
+// //ViewHolder
+// public class RequestingViewHolder extends RecyclerView.ViewHolder {
+// public TextView nameView;
+// public ImageView iconView;
+// public Button deleteButton;
+//
+// public RequestingViewHolder(@NonNull View itemView) {
+// super(itemView);
+// nameView = (TextView) itemView.findViewById(R.id.requestingName);
+// iconView = itemView.findViewById(R.id.requestingIcon);
+// deleteButton = itemView.findViewById(R.id.requestingDeleteButton);
+// }
+// }
+//
+// //DataModel
+// public static class RequestingDataModel extends FriendActivity.RequestingDataModel {
+// private String name;
+// private String id;
+//
+// public String getName() {
+// return name;
+// }
+// public String getId() {
+// return id;
+// }
+//
+// public void setName(String name) {
+// this.name = name;
+// }
+// public void setId(String id){
+// this.id = id;
+// }
+//
+// }
+//
+//}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_friend.xml b/app/src/main/res/layout/activity_friend.xml
index 9eb30db..e42699e 100644
--- a/app/src/main/res/layout/activity_friend.xml
+++ b/app/src/main/res/layout/activity_friend.xml
@@ -1,5 +1,6 @@
+ android:visibility="invisible"/>
-
+ android:orientation="vertical"
+ android:visibility="visible">
+
+
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="0.05"
+ android:text=" IDで検索してフレンド申請を送る"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="0.05"
+ android:text=" フレンド申請中のユーザー"/>
-
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="0.73"/>
+
+
+ app:layout_constraintVertical_bias="0.772" />