diff --git a/CHANGELOG.md b/CHANGELOG.md index 95f071e73..562f93730 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +Changes: + +- Separate edit UI in tabs to make it feel more spacious + ## v1.6.2 (2021-01-04) Changes: diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index 48ad0950f..73248475b 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -32,6 +32,7 @@ import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.tabs.TabLayout; import com.google.zxing.BarcodeFormat; import com.jaredrummler.android.colorpicker.ColorPickerDialog; import com.jaredrummler.android.colorpicker.ColorPickerDialogListener; @@ -44,6 +45,8 @@ public class LoyaltyCardEditActivity extends AppCompatActivity { private static final String TAG = "Catima"; + TabLayout tabs; + ImageView thumbnail; EditText storeFieldEdit; EditText noteFieldEdit; @@ -107,6 +110,7 @@ public class LoyaltyCardEditActivity extends AppCompatActivity db = new DBHelper(this); importUriHelper = new ImportURIHelper(this); + tabs = findViewById(R.id.tabs); thumbnail = findViewById(R.id.thumbnail); storeFieldEdit = findViewById(R.id.storeNameEdit); noteFieldEdit = findViewById(R.id.noteEdit); @@ -179,6 +183,25 @@ public class LoyaltyCardEditActivity extends AppCompatActivity @Override public void afterTextChanged(Editable s) { } }); + + tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + @Override + public void onTabSelected(TabLayout.Tab tab) { + showPart(tab.getText().toString()); + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) { + + } + + @Override + public void onTabReselected(TabLayout.Tab tab) { + showPart(tab.getText().toString()); + } + }); + + tabs.selectTab(tabs.getTabAt(0)); } @Override @@ -622,4 +645,19 @@ public class LoyaltyCardEditActivity extends AppCompatActivity thumbnail.setMinimumWidth(thumbnail.getHeight()); } + + private void showPart(String part) { + View cardPart = findViewById(R.id.cardPart); + View barcodePart = findViewById(R.id.barcodePart); + + if (getString(R.string.card).equals(part)) { + cardPart.setVisibility(View.VISIBLE); + barcodePart.setVisibility(View.GONE); + } else if (getString(R.string.barcode).equals(part)) { + cardPart.setVisibility(View.GONE); + barcodePart.setVisibility(View.VISIBLE); + } else { + throw new UnsupportedOperationException(); + } + } } diff --git a/app/src/main/res/layout/loyalty_card_edit_activity.xml b/app/src/main/res/layout/loyalty_card_edit_activity.xml index 020d08289..52ea89f09 100644 --- a/app/src/main/res/layout/loyalty_card_edit_activity.xml +++ b/app/src/main/res/layout/loyalty_card_edit_activity.xml @@ -26,6 +26,20 @@ android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> + + + + + - - - - + + + android:paddingTop="@dimen/inputPadding" + android:orientation="horizontal"> - + android:layout_marginEnd="@dimen/activity_margin" + android:layout_gravity="center_vertical" + app:cardCornerRadius="4dp" + android:paddingHorizontal="@dimen/inputPadding" + app:cardElevation="0dp"> - + - + - + android:hint="@string/storeName"> - - + - - + + - + + android:paddingHorizontal="@dimen/inputPadding" + android:paddingTop="@dimen/inputPadding" + android:orientation="horizontal"> - + android:hint="@string/note"> - - + - - + + - + - + android:layout_height="wrap_content" + android:paddingHorizontal="@dimen/inputPadding" + android:paddingTop="@dimen/inputPadding" + android:orientation="horizontal"> - - -