diff --git a/app/build.gradle b/app/build.gradle index ce04a26..dc1ce70 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdk 29 targetSdk 34 versionCode 1 - versionName "1.6.2" + versionName "1.6.3 beta" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -60,12 +60,10 @@ dependencies { implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.6.3' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1' implementation 'com.journeyapps:zxing-android-embedded:4.3.0' implementation 'com.github.yalantis:ucrop:2.2.8' implementation 'com.github.chrisbanes:PhotoView:2.3.0' implementation 'androidx.appcompat:appcompat:1.6.1' - implementation 'com.google.android.material:material:1.8.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.navigation:navigation-fragment:2.5.3' implementation 'androidx.navigation:navigation-ui:2.5.3' @@ -73,6 +71,4 @@ dependencies { androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' implementation 'jp.wasabeef:glide-transformations:4.3.0' - - } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index de5bee7..76d1485 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -100,13 +100,6 @@ - - - - - @@ -116,7 +109,9 @@ android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_filter" /> - + + + + + + + { - use_party = textInputEditText.getText().toString(); - + if (!Objects.equals(use_party, "未加入")) { if (status == 0) { toolbar.setTitle(use_party + " 房间 " + use_name); }else { toolbar.setTitle(use_party + " 房间 " + use_name + " 正在队列"); } - SharedPreferences.Editor editor = sharedPreferences.edit(); - editor.putString("use_party", use_party); - editor.apply(); - getData(); - }); - builder.setNegativeButton("取消", null); - builder.show(); - }else if (status == 0 && intent.getStringExtra("data") == null) { + }else { + use_party = sharedPreferences.getString("use_party", ""); + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this); + builder.setTitle("重新进入房间"); + builder.setMessage("重新进入房间号?"); + TextInputEditText textInputEditText = new TextInputEditText(this); + builder.setView(textInputEditText); + textInputEditText.setText(use_party); + builder.setPositiveButton("确定", (dialog, which) -> { + use_party = textInputEditText.getText().toString(); + + if (status == 0) { + toolbar.setTitle(use_party + " 房间 " + use_name); + } else { + toolbar.setTitle(use_party + " 房间 " + use_name + " 正在队列"); + } + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.putString("use_party", use_party); + editor.apply(); + getData(); + }); + builder.setNegativeButton("取消", null); + builder.show(); + } + }else if ((status == 0) && (isNfc ==0)) { //询问加入房价 MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this); builder.setTitle("进入房间"); @@ -163,7 +185,62 @@ public class PaikaActivity extends AppCompatActivity { } }); } + @Override + protected void onResume() { + super.onResume(); + if (nfcAdapter != null) { + nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null); + } + } + @Override + protected void onPause() { + super.onPause(); + if (nfcAdapter != null) { + nfcAdapter.disableForegroundDispatch(this); + } + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + processNfcIntent(intent); + } + + private void processNfcIntent(Intent intent) { + Log.d("Paika123456", "123456"); + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { + // 获取 NDEF 消息 + Parcelable[] rawMessages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); + if (rawMessages != null) { + Log.d("Paika123456", "123"); + + for (Parcelable rawMessage : rawMessages) { + NdefMessage message = (NdefMessage) rawMessage; + for (NdefRecord record : message.getRecords()) { + // 检查是否是 URI 类型的记录 + if (record.getTnf() == NdefRecord.TNF_WELL_KNOWN) { + String uri = parseUriFromNdefRecord(record); + use_party = uri.split("paika")[1]; + isNfc = 1; + } + } + } + } + } + } + private String parseUriFromNdefRecord(NdefRecord record) { + try { + byte[] payload = record.getPayload(); + if (payload != null && payload.length > 0) { + // 跳过第一个字节 (URI 标识符码) + return new String(payload, 1, payload.length - 1, StandardCharsets.UTF_8); + } + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } private void doUPlay() { // 使用 MaterialAlertDialogBuilder 创建弹窗 MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this); @@ -199,10 +276,13 @@ public class PaikaActivity extends AppCompatActivity { break; } } - if (num.get() == 2 || num.get() == 3) { + if (num.get() == 2) { Log.d("UPlayDialog", "上机 clicked"); + play(); - } else if (num.get() == 1 || num.get() ==0) { + } else if (num.get() == 3) { + play3(); + }else if (num.get() == 1 || num.get() ==0) { Snackbar.make(v, "正在上机!", Snackbar.LENGTH_SHORT) .setAction("确定", null) .show(); @@ -274,10 +354,16 @@ public class PaikaActivity extends AppCompatActivity { editor.putString("use_party", ""); editor.commit(); - remove(); + unplay(); Intent intent = new Intent(PaikaActivity.this, MainActivity.class); startActivity(intent); }); + MaterialButton qrscan = dialogView.findViewById(R.id.qrscan); + qrscan.setOnClickListener(v -> { + //扫描二维码,读取为use_party; + qrScan(); + }); + builder.setView(dialogView); builder.show(); @@ -285,12 +371,50 @@ public class PaikaActivity extends AppCompatActivity { private Runnable refreshTask = new Runnable() { @Override public void run() { - if (!use_party.isEmpty()) { - getData(); // 调用刷新方法 + try { + if (!use_party.isEmpty()) { + getData(); // 调用刷新方法 + } + handler.postDelayed(this, 3000); // 每隔 2 秒执行一次 + }catch (Exception e) { + } - handler.postDelayed(this, 3000); // 每隔 2 秒执行一次 + } }; + private final ActivityResultLauncher qrScanLauncher = registerForActivityResult( + new ScanContract(), + result -> { + if (result.getContents() != null) { + // 获取扫描结果并赋值给 use_party + use_party = result.getContents(); + Log.d("QRScan", "Scanned use_party: " + use_party); + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.putString("use_party", use_party); + editor.commit(); + // 更新 UI 或执行其他逻辑 + toolbar.setTitle(use_party + " 房间 " + use_name); + getData(); // 刷新数据 + } else { + Log.d("QRScan", "Scan cancelled"); + Snackbar.make(findViewById(R.id.back), "扫描取消", Snackbar.LENGTH_SHORT) + .setAction("确定", null).show(); + } + } + ); + + // 定义 qrScan 方法 + private void qrScan() { + ScanOptions options = new ScanOptions(); + options.setPrompt("将二维码放入框内扫描"); // 设置提示信息 + options.setOrientationLocked(true); // 锁定屏幕方向为竖屏 + options.setBeepEnabled(true); // 扫描成功时播放提示音 + options.setCaptureActivity(PortraitCaptureActivity.class); // 使用自定义的 CaptureActivity + options.setTimeout(5000); // 设置超时时间 + qrScanLauncher.launch(options); // 启动扫描 + } + + private void getData() { Request request = new Request.Builder() .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party) @@ -315,6 +439,11 @@ public class PaikaActivity extends AppCompatActivity { Log.d("123456", "getData"); } private void join() { + if (players.contains(use_name + "()" + iconId)) { + Snackbar.make(findViewById(R.id.back), "您已经加入该房间", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + return; + } Request request = new Request.Builder() .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconId) .post(RequestBody.create("", MediaType.parse("application/json"))) @@ -378,11 +507,25 @@ public class PaikaActivity extends AppCompatActivity { } }); } + private void play3() { + String changTo = players.get(2); + change(changTo,1); + + } private void unplay() { + remove(); + status = 0; + use_party = ""; + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.putInt("paikastatus", status); + editor.putString("use_party", ""); + editor.commit(); } private void addDataToTableLayout() { Context context = this; - + if (players.isEmpty()) { + return; + } handler.post(new Runnable() { @Override public void run() { @@ -390,102 +533,69 @@ public class PaikaActivity extends AppCompatActivity { //清空 tableLayout.removeAllViews(); try { + if (players.size() == 0) { + Glide.with(context) + .load("https://assets2.lxns.net/maimai/icon/0.png") + .into(player1Avatar); + player1Name.setText("等待玩家"); + return; + } + if (players.size() == 1) { + Glide.with(context) + .load("https://assets2.lxns.net/maimai/icon/" + Integer.parseInt(players.get(0).split("\\(\\)")[1]) +".png") + .into(player1Avatar); + player1Name.setText(players.get(0).split("\\(\\)")[0]); + return; + } + Glide.with(context) .load("https://assets2.lxns.net/maimai/icon/" + Integer.parseInt(players.get(0).split("\\(\\)")[1]) +".png") .into(player1Avatar); Glide.with(context) .load("https://assets2.lxns.net/maimai/icon/" + Integer.parseInt(players.get(1).split("\\(\\)")[1]) +".png") .into(player2Avatar); - }catch (Exception e) { - e.printStackTrace(); - } + player1Name.setText(players.get(0).split("\\(\\)")[0]); + player2Name.setText(players.get(1).split("\\(\\)")[0]); - player1Name.setText(players.get(0).split("\\(\\)")[0]); - player2Name.setText(players.get(1).split("\\(\\)")[0]); + for (int i = 2; i < players.size(); i++) { + String name = players.get(i).split("\\(\\)")[0]; + int iconId = Integer.parseInt(players.get(i).split("\\(\\)")[1]); + TableRow tableRow = (TableRow) LayoutInflater.from(context).inflate(R.layout.table_row_item, tableLayout, false); + int finalI = i; + ImageView userAvatar = tableRow.findViewById(R.id.userAvatar); + try { + Glide.with(context) + .load("https://assets2.lxns.net/maimai/icon/" + iconId +".png") + .into(userAvatar); + }catch (Exception e) { + e.printStackTrace(); + } - for (int i = 2; i < players.size(); i++) { - String name = players.get(i).split("\\(\\)")[0]; - int iconId = Integer.parseInt(players.get(i).split("\\(\\)")[1]); - TableRow tableRow = (TableRow) LayoutInflater.from(context).inflate(R.layout.table_row_item, tableLayout, false); - int finalI = i; - ImageView userAvatar = tableRow.findViewById(R.id.userAvatar); - try { - Glide.with(context) - .load("https://assets2.lxns.net/maimai/icon/" + iconId +".png") - .into(userAvatar); - }catch (Exception e) { - e.printStackTrace(); - } + TextView username = tableRow.findViewById(R.id.username); + username.setText(name); + tableLayout.addView(tableRow); - TextView username = tableRow.findViewById(R.id.username); - username.setText(name); - tableLayout.addView(tableRow); + tableRow.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context); + builder.setTitle("操作"); + View view = LayoutInflater.from(context).inflate(R.layout.paika_item_dialog, null); + builder.setView(view); + MaterialButton change = view.findViewById(R.id.change); + change.setText("插队"); + MaterialButton removeButton = view.findViewById(R.id.removeButton); + removeButton.setText("移除"); + MaterialButton fuzhushangji = view.findViewById(R.id.fuzhushangji); + fuzhushangji.setText("辅助上机"); - tableRow.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context); - builder.setTitle("操作"); - View view = LayoutInflater.from(context).inflate(R.layout.paika_item_dialog, null); - builder.setView(view); - MaterialButton change = view.findViewById(R.id.change); - change.setText("插队"); - MaterialButton removeButton = view.findViewById(R.id.removeButton); - removeButton.setText("移除"); - MaterialButton fuzhushangji = view.findViewById(R.id.fuzhushangji); - fuzhushangji.setText("辅助上机"); - - change.setOnClickListener(v2->{ - Request request = new Request.Builder() - .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + players.get(finalI)) - .put(RequestBody.create("", MediaType.parse("application/json"))) - .build(); - OkHttpClient client = new OkHttpClient(); - Log.d("123456", "http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + players.get(finalI)); - client.newCall(request).enqueue(new Callback() { - @Override - public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { - if (response.isSuccessful()) { - getData(); - Log.d("123456", "onResponse: " + response.body().string()); - Snackbar.make(findViewById(R.id.back), "换位成功", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } - } - - @Override - public void onFailure(@NotNull Call call, @NotNull IOException e) { - - } + change.setOnClickListener(v2->{ + change(players.get(finalI)); }); - }); - removeButton.setOnClickListener(v2->{ - Request request = new Request.Builder() - .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" +players.get(finalI)) - .delete(RequestBody.create("", MediaType.parse("application/json"))) - .build(); - OkHttpClient client = new OkHttpClient(); - client.newCall(request).enqueue(new Callback() { - @Override - public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { - if (response.isSuccessful()) { - getData(); - Snackbar.make(findViewById(R.id.back), "移除成功", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } - } - - @Override - public void onFailure(@NotNull Call call, @NotNull IOException e) { - - } - }); - }); - fuzhushangji.setOnClickListener(v2->{ - if (finalI == 2 ) { + removeButton.setOnClickListener(v2->{ Request request = new Request.Builder() - .url("http://mai.godserver.cn:11451/api/mai/v1/partyPlay?party=" + use_party ) - .post(RequestBody.create("", MediaType.parse("application/json"))) + .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" +players.get(finalI)) + .delete(RequestBody.create("", MediaType.parse("application/json"))) .build(); OkHttpClient client = new OkHttpClient(); client.newCall(request).enqueue(new Callback() { @@ -493,40 +603,132 @@ public class PaikaActivity extends AppCompatActivity { public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { if (response.isSuccessful()) { getData(); - Snackbar.make(findViewById(R.id.back), "辅助上机成功", Snackbar.LENGTH_LONG) + Snackbar.make(findViewById(R.id.back), "移除成功", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } } @Override public void onFailure(@NotNull Call call, @NotNull IOException e) { - Log.d("123456", "onFailure: " + e); + } }); - }else { - Snackbar.make(findViewById(R.id.back), "辅助上机失败,位置不满足要求", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } + }); + fuzhushangji.setOnClickListener(v2->{ + if (finalI == 2 ) { + Request request = new Request.Builder() + .url("http://mai.godserver.cn:11451/api/mai/v1/partyPlay?party=" + use_party ) + .post(RequestBody.create("", MediaType.parse("application/json"))) + .build(); + OkHttpClient client = new OkHttpClient(); + client.newCall(request).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + if (response.isSuccessful()) { + getData(); + Snackbar.make(findViewById(R.id.back), "辅助上机成功", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + } - }); + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + Log.d("123456", "onFailure: " + e); + } + }); + }else { + Snackbar.make(findViewById(R.id.back), "辅助上机失败,位置不满足要求", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } - builder.show(); + }); + + builder.show(); + } + }); + // 添加分割线 + if (finalI < players.size() - 1) { + View separator = new View(context); + separator.setLayoutParams(new TableLayout.LayoutParams( + TableLayout.LayoutParams.MATCH_PARENT, + 1 + )); + separator.setBackgroundColor(ContextCompat.getColor(context, R.color.dividerColor)); + tableLayout.addView(separator); } - }); - // 添加分割线 - if (finalI < players.size() - 1) { - View separator = new View(context); - separator.setLayoutParams(new TableLayout.LayoutParams( - TableLayout.LayoutParams.MATCH_PARENT, - 1 - )); - separator.setBackgroundColor(ContextCompat.getColor(context, R.color.dividerColor)); - tableLayout.addView(separator); } + }catch (Exception e) { + e.printStackTrace(); } + + } }); } + + private void change(String to) { + Request request = new Request.Builder() + .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to) + .put(RequestBody.create("", MediaType.parse("application/json"))) + .build(); + OkHttpClient client = new OkHttpClient(); + Log.d("123456", "http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to); + client.newCall(request).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + if (response.isSuccessful()) { + getData(); + Log.d("123456", "onResponse: " + response.body().string()); + Snackbar.make(findViewById(R.id.back), "换位成功", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + + } + }); + } + private void change(String to,int type) { + Request request = new Request.Builder() + .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to) + .put(RequestBody.create("", MediaType.parse("application/json"))) + .build(); + OkHttpClient client = new OkHttpClient(); + Log.d("123456", "http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to); + client.newCall(request).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + if (response.isSuccessful()) { + Request request = new Request.Builder() + .url("http://mai.godserver.cn:11451/api/mai/v1/partyPlay?party=" + use_party ) + .post(RequestBody.create("", MediaType.parse("application/json"))) + .build(); + OkHttpClient client = new OkHttpClient(); + client.newCall(request).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + Snackbar.make(findViewById(R.id.back), "上机成功!", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + getData(); + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + + } + }); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + + } + }); + } + // 用户类 private static class User { private String name; diff --git a/app/src/main/java/org/astral/findmaimaiultra/ui/PortraitCaptureActivity.java b/app/src/main/java/org/astral/findmaimaiultra/ui/PortraitCaptureActivity.java new file mode 100644 index 0000000..73c0b02 --- /dev/null +++ b/app/src/main/java/org/astral/findmaimaiultra/ui/PortraitCaptureActivity.java @@ -0,0 +1,14 @@ +package org.astral.findmaimaiultra.ui; + +import android.content.pm.ActivityInfo; +import android.os.Bundle; +import com.journeyapps.barcodescanner.CaptureActivity; + +public class PortraitCaptureActivity extends CaptureActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // 强制设置为竖屏 + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } +} diff --git a/app/src/main/res/####values-night/colors.xml b/app/src/main/res/####values-night/colors.xml deleted file mode 100644 index 5fe2644..0000000 --- a/app/src/main/res/####values-night/colors.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - #673AB7 - #673AB7 - #FF3700B3 - #045D53 - #673AB7 - #FFFFFF - - #FF018786 - #8A8282 - #FFFFFFFF - #673AB7 - #673AB7 - #673AB7 - #3F51B5 - #212121 - #727272 - #FFFFFF - #B6B6B6 - #673AB7 - #673AB7 - #141313 - #045D53 - #018786 - #000000 - #045D53 - #C2F6C4 - #FFFFFF - #F44336 - \ No newline at end of file diff --git a/app/src/main/res/111values-night/colors.xml b/app/src/main/res/111values-night/colors.xml new file mode 100644 index 0000000..f0def98 --- /dev/null +++ b/app/src/main/res/111values-night/colors.xml @@ -0,0 +1,36 @@ + + + #D5C4ED + #D5C4ED + #D5C4ED + #D5C4ED + #D5C4ED + + #D5C4ED + #8A8282 + #FFFFFFFF + #D5C4ED + #D5C4ED + #D1C4E9 + #D5C4ED + #8C8181 + #727272 + #FFFFFF + #B6B6B6 + #D5C4ED + #D5C4ED + #FFFFFF + #D5C4ED + #D5C4ED + #000000 + #1DF687 + #C2F6C4 + #D5C4ED + #000000 + #FFFFFF + + #F44336 + #FF9189 + + #7D7D7D + \ No newline at end of file diff --git a/app/src/main/res/####values-night/styles.xml b/app/src/main/res/111values-night/styles.xml similarity index 100% rename from app/src/main/res/####values-night/styles.xml rename to app/src/main/res/111values-night/styles.xml diff --git a/app/src/main/res/####values-night/themes.xml b/app/src/main/res/111values-night/themes.xml similarity index 100% rename from app/src/main/res/####values-night/themes.xml rename to app/src/main/res/111values-night/themes.xml diff --git a/app/src/main/res/layout/paika_dialog.xml b/app/src/main/res/layout/paika_dialog.xml index 69b74de..00356d5 100644 --- a/app/src/main/res/layout/paika_dialog.xml +++ b/app/src/main/res/layout/paika_dialog.xml @@ -47,4 +47,13 @@ android:textColor="@color/white" app:backgroundTint="@color/colorPrimary" tools:ignore="MissingConstraints"/> + + diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml index 40b8f3f..8061b36 100644 --- a/app/src/main/res/menu/main.xml +++ b/app/src/main/res/menu/main.xml @@ -1,6 +1,6 @@ - + xmlns:app="http://schemas.android.com/apk/res-auto" + android:theme="@style/Theme.FindMaimaiUltra"> - - \ No newline at end of file + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index a341925..f0def98 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -13,7 +13,7 @@ #D5C4ED #D1C4E9 #D5C4ED - #212121 + #8C8181 #727272 #FFFFFF #B6B6B6 @@ -27,6 +27,7 @@ #C2F6C4 #D5C4ED #000000 + #FFFFFF #F44336 #FF9189 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3dbf0b4..c0ebf61 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -18,4 +18,7 @@ + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index d6df388..e2ed3a3 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -12,10 +12,14 @@ ?attr/colorPrimaryVariant + @style/MenuBackgroundStyle + \ No newline at end of file