From 7fb113a0e4506003defe44b68eb0e4f17a15497c Mon Sep 17 00:00:00 2001 From: Alexey 'Cluster' Avdyukhin Date: Tue, 15 Mar 2022 03:37:28 +0300 Subject: Explanation, ConstraintLayout, fixes --- app/src/main/AndroidManifest.xml | 5 + .../hexeditorwatchface/ExplanationActivity.java | 27 +++++ .../clusterrr/hexeditorwatchface/HexWatchFace.java | 7 +- .../hexeditorwatchface/SettingsActivity.java | 15 ++- .../hexeditorwatchface/SettingsMenuAdapter.java | 55 +++++---- .../hexeditorwatchface/SettingsSubActivity.java | 18 +-- .../hexeditorwatchface/SettingsSubMenuAdapter.java | 11 +- app/src/main/res/drawable-nodpi/explanation.png | Bin 0 -> 58746 bytes .../main/res/drawable-nodpi/preview_notround.png | Bin 67266 -> 39721 bytes app/src/main/res/layout/explanation.xml | 8 ++ app/src/main/res/layout/menu_item.xml | 126 ++++++++++++++------- 11 files changed, 190 insertions(+), 82 deletions(-) create mode 100644 app/src/main/java/com/clusterrr/hexeditorwatchface/ExplanationActivity.java create mode 100644 app/src/main/res/drawable-nodpi/explanation.png create mode 100644 app/src/main/res/layout/explanation.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0612878..ad40590 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -69,6 +69,11 @@ android:label="Settings" android:theme="@style/MyMaterialTheme"> + + { @@ -26,22 +22,42 @@ public class SettingsMenuAdapter extends RecyclerView.Adapter { - Intent intent = new Intent(mContext, SettingsSubActivity.class); - intent.putExtra("setting", pos); - intent.putExtra("values", mSettings[pos].getValueNames()); - intent.putExtra("selected", mSettings[pos].getValue()); - mContext.startActivityForResult(intent, 0); - }); + if (pos < mSettings.length) { + // Settings with values + holder.menuItemSettingKey.setText(mSettings[pos].getName()); + holder.menuItemSettingValue.setText(mSettings[pos].getValueName()); + holder.menuContainer.setOnClickListener(v -> { + Intent intent = new Intent(mContext, SettingsSubActivity.class); + intent.putExtra("setting", pos); + intent.putExtra("values", mSettings[pos].getValueNames()); + intent.putExtra("selected", mSettings[pos].getValue()); + mContext.startActivityForResult(intent, 0); + }); + holder.menuItemSettingKey.setVisibility(View.VISIBLE); + holder.menuItemSettingValue.setVisibility(View.VISIBLE); + holder.menuItemSettingRadio.setVisibility(View.GONE); + holder.menuItemSettingExplanation.setVisibility(View.GONE); + } else { + // Show some explanation + holder.menuItemSettingKey.setText("Explanation"); + holder.menuItemSettingValue.setText(""); + + holder.menuContainer.setOnClickListener(v -> { + Intent intent = new Intent(mContext, ExplanationActivity.class); + mContext.startActivity(intent); + }); + holder.menuItemSettingKey.setVisibility(View.GONE); + holder.menuItemSettingValue.setVisibility(View.GONE); + holder.menuItemSettingRadio.setVisibility(View.GONE); + holder.menuItemSettingExplanation.setVisibility(View.VISIBLE); + } // Disable vignetting for rectangular screens holder.menuContainer.setEnabled(res.getBoolean(R.bool.is_round) || pos != SettingsActivity.PREF_KEY_VIGNETTING); holder.menuItemSettingKey.setEnabled(res.getBoolean(R.bool.is_round) || pos != SettingsActivity.PREF_KEY_VIGNETTING); @@ -57,9 +73,10 @@ public class SettingsMenuAdapter extends RecyclerView.Adapter { @@ -39,9 +40,10 @@ public class SettingsSubMenuAdapter extends RecyclerView.Adapter + + diff --git a/app/src/main/res/layout/menu_item.xml b/app/src/main/res/layout/menu_item.xml index 4f8b3c4..a03d0e1 100644 --- a/app/src/main/res/layout/menu_item.xml +++ b/app/src/main/res/layout/menu_item.xml @@ -1,59 +1,101 @@ - + android:orientation="horizontal"> - - - - - - - - + android:layout_height="0dp" + android:scaleType="fitXY" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/imageViewRight" + app:layout_constraintStart_toEndOf="@+id/imageViewLeft" + app:layout_constraintTop_toTopOf="parent" + app:srcCompat="@drawable/menu_background_center" /> + + + + + + - + + + + + -- cgit v1.2.3