Commit 6a44ae1a authored by Muhammad Suryono's avatar Muhammad Suryono

merge with cart

parents ab90d286 fa9278fd
...@@ -282,3 +282,10 @@ public class CartActivity extends AppCompatActivity { ...@@ -282,3 +282,10 @@ public class CartActivity extends AppCompatActivity {
super.onBackPressed(); super.onBackPressed();
} }
} }
/**
* Bug ketika qty kurang dari stock masih bertambah
*
*/
\ No newline at end of file
...@@ -31,10 +31,8 @@ import com.yono.messeripos.utils.Utils; ...@@ -31,10 +31,8 @@ import com.yono.messeripos.utils.Utils;
public class LoginActivity extends AppCompatActivity { public class LoginActivity extends AppCompatActivity {
TextInputEditText username, password;
MainViewModels mainViewModels; MainViewModels mainViewModels;
SharedPreferences sharedPreferences; SharedPreferences sharedPreferences;
Utils utils = new Utils();
//State //State
LoginState loginState; LoginState loginState;
...@@ -42,9 +40,6 @@ public class LoginActivity extends AppCompatActivity { ...@@ -42,9 +40,6 @@ public class LoginActivity extends AppCompatActivity {
MaterialButton btnSignin; MaterialButton btnSignin;
MaterialButton btnSignup, btnSignIn; MaterialButton btnSignup, btnSignIn;
ConstraintLayout loginSheetLayout, registerSheetLayout;
int height, width;
ImageButton closeBtn;
private String TAG = "MainActivity"; private String TAG = "MainActivity";
...@@ -110,7 +105,6 @@ public class LoginActivity extends AppCompatActivity { ...@@ -110,7 +105,6 @@ public class LoginActivity extends AppCompatActivity {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
registerState = new RegisterState(LoginActivity.this,mainViewModels); registerState = new RegisterState(LoginActivity.this,mainViewModels);
registerState.setCancelable(false);
registerState.show(getSupportFragmentManager(),registerState.getTag()); registerState.show(getSupportFragmentManager(),registerState.getTag());
} }
}); });
......
package com.yono.messeripos; package com.yono.messeripos;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
...@@ -18,7 +20,6 @@ import android.widget.RelativeLayout; ...@@ -18,7 +20,6 @@ import android.widget.RelativeLayout;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.Observer; import androidx.lifecycle.Observer;
...@@ -30,6 +31,7 @@ import com.google.android.material.button.MaterialButton; ...@@ -30,6 +31,7 @@ import com.google.android.material.button.MaterialButton;
import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar; import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputEditText;
import com.yono.messeripos.models.CategoryModels;
import com.yono.messeripos.models.MainViewModels; import com.yono.messeripos.models.MainViewModels;
import com.yono.messeripos.models.UsersModels; import com.yono.messeripos.models.UsersModels;
import com.yono.messeripos.response.DataResponse; import com.yono.messeripos.response.DataResponse;
...@@ -50,7 +52,7 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -50,7 +52,7 @@ public class LoginState extends BottomSheetDialogFragment {
SharedPreferences sharedPreferences; SharedPreferences sharedPreferences;
Utils utils; Utils utils;
ProgressBar bar; ProgressBar bar;
AlertDialog alertDialog; AlertDialog.Builder builder;
ProgressDialog dialog; ProgressDialog dialog;
...@@ -59,7 +61,6 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -59,7 +61,6 @@ public class LoginState extends BottomSheetDialogFragment {
this.mainViewModels = mainViewModels; this.mainViewModels = mainViewModels;
} }
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
...@@ -93,34 +94,17 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -93,34 +94,17 @@ public class LoginState extends BottomSheetDialogFragment {
sheetBehavior = BottomSheetBehavior.from((View) (view.getParent())); sheetBehavior = BottomSheetBehavior.from((View) (view.getParent()));
// get Window size // get Window size
int getHeight = Resources.getSystem().getDisplayMetrics().heightPixels; int setHeight = utils.getWindowHeight() - (utils.getWindowHeight() * 5) / 100;
int setHeight = getHeight - (getHeight * 5) / 100;
// set max height // set max height
sheetBehavior.setPeekHeight(setHeight); sheetBehavior.setPeekHeight(setHeight);
loginLayout.setMinimumHeight(setHeight); loginLayout.setMinimumHeight(setHeight);
// alert dialog buat nampilin error // loginButton on click
alertDialog = new AlertDialog.Builder(context) loginButton.setOnClickListener(this::loginAuth);
.setTitle("Username dan Password Salah")
.setMessage("Oppss! Username dan Password yang kamu masukan salah!")
.setPositiveButton("Coba Lagi", null)
.setCancelable(false)
.create();
loginButton.setOnClickListener(view1 -> {
if (sheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
bar.setVisibility(View.VISIBLE);
loginButton.setText("");
sheetDialog.setCancelable(false);
loginAuth(view1);
}
});
// close btn is clicked // close btn is clicked
closeBtn.setOnClickListener(view12 -> { closeBtn.setOnClickListener(view12 -> {
Log.d(TAG, "onCreateDialog: "+sheetBehavior.getState());
sheetDialog.dismiss(); sheetDialog.dismiss();
}); });
...@@ -128,7 +112,6 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -128,7 +112,6 @@ public class LoginState extends BottomSheetDialogFragment {
} }
private void loginAuth(View v) { private void loginAuth(View v) {
if (TextUtils.isEmpty(username.getText().toString()) && if (TextUtils.isEmpty(username.getText().toString()) &&
TextUtils.isEmpty(password.getText().toString())){ TextUtils.isEmpty(password.getText().toString())){
username.setError("This field can't empty"); username.setError("This field can't empty");
...@@ -140,14 +123,12 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -140,14 +123,12 @@ public class LoginState extends BottomSheetDialogFragment {
}else{ }else{
/** /**
* Jika tombol sign in ditekan * Jika tombol sign in ditekan
*/ *
* nonaktifkan semua form */
// aktifkan progress bar
bar.setVisibility(View.VISIBLE); bar.setVisibility(View.VISIBLE);
// hilangkan tulisan di button
loginButton.setText(""); loginButton.setText("");
sheetDialog.setCancelable(false);
// nonaktifkan semua form
username.setEnabled(false); username.setEnabled(false);
password.setEnabled(false); password.setEnabled(false);
loginButton.setEnabled(false); loginButton.setEnabled(false);
...@@ -156,9 +137,7 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -156,9 +137,7 @@ public class LoginState extends BottomSheetDialogFragment {
// buat checking login // buat checking login
mainViewModels.checkLogin(new UsersModels(username.getText().toString(), mainViewModels.checkLogin(new UsersModels(username.getText().toString(),
password.getText().toString())) password.getText().toString()))
.observe((LifecycleOwner) context, new Observer<DataResponse<UsersModels>>() { .observe((LifecycleOwner) context, usersModelsDataResponse -> {
@Override
public void onChanged(DataResponse<UsersModels> usersModelsDataResponse) {
if (usersModelsDataResponse != null) { if (usersModelsDataResponse != null) {
...@@ -171,18 +150,18 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -171,18 +150,18 @@ public class LoginState extends BottomSheetDialogFragment {
if(editor.commit()){ if(editor.commit()){
startActivity(new Intent(context, MainActivity.class)); startActivity(new Intent(context, MainActivity.class));
} }
// redirect ke home // redirect ke home
// set progress bar jadi nonaktif // set progress bar jadi nonaktif
bar.setVisibility(View.GONE); bar.setVisibility(View.GONE);
// munculkan tulisan default di button sign in // munculkan tulisan default di button sign in
loginButton.setText(DEFAULT_LOGIN_NAME); loginButton.setText(DEFAULT_LOGIN_NAME);
// ubah sheet dialog jadi tidak bisa di slide atau cancel // ubah sheet dialog jadi tidak bisa di slide atau cancel
sheetDialog.setCancelable(true); sheetDialog.setCancelable(true);
// set form jadi enable // set form jadi enable
username.setEnabled(true); username.setEnabled(true);
password.setEnabled(true); password.setEnabled(true);
loginButton.setEnabled(true); loginButton.setEnabled(true);
...@@ -198,7 +177,17 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -198,7 +177,17 @@ public class LoginState extends BottomSheetDialogFragment {
sheetDialog.setCancelable(true); sheetDialog.setCancelable(true);
utils.snackBar(v, "Oppss! Wrong Username or Password!").show(); final View customLayout = getLayoutInflater()
.inflate(R.layout.alert_dialog, null);
// tampilkan alert dialog
utils = new Utils(customLayout);
utils.dialog(context, false, customLayout, "Wrong Username or Password",
"The username or password is incorrect. Please try again!",
"Try Again")
.show();
utils.setListener(Dialog::dismiss);
username.setEnabled(true); username.setEnabled(true);
password.setEnabled(true); password.setEnabled(true);
loginButton.setEnabled(true); loginButton.setEnabled(true);
...@@ -209,8 +198,8 @@ public class LoginState extends BottomSheetDialogFragment { ...@@ -209,8 +198,8 @@ public class LoginState extends BottomSheetDialogFragment {
utils.snackBar(v, "Oppss! ログイン中にエラーが発生しました。しばらくしてからもう一度お試しください").show(); utils.snackBar(v, "Oppss! ログイン中にエラーが発生しました。しばらくしてからもう一度お試しください").show();
} }
}
}); });
} }
loginButton.setText(DEFAULT_LOGIN_NAME);
} }
} }
...@@ -78,8 +78,7 @@ public class RegisterState extends BottomSheetDialogFragment { ...@@ -78,8 +78,7 @@ public class RegisterState extends BottomSheetDialogFragment {
sheetBehavior2 = BottomSheetBehavior.from((View) (view.getParent())); sheetBehavior2 = BottomSheetBehavior.from((View) (view.getParent()));
// get Window size // get Window size
int getHeight = Resources.getSystem().getDisplayMetrics().heightPixels; int setHeight = utils.getWindowHeight() - (utils.getWindowHeight() * 5) / 100;
int setHeight = getHeight - (getHeight * 5) / 100;
// set max height // set max height
sheetBehavior2.setPeekHeight(setHeight); sheetBehavior2.setPeekHeight(setHeight);
......
package com.yono.messeripos.utils; package com.yono.messeripos.utils;
import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Bitmap; import android.graphics.Bitmap;
...@@ -8,14 +9,20 @@ import android.os.Build; ...@@ -8,14 +9,20 @@ import android.os.Build;
import android.util.Base64; import android.util.Base64;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.DividerItemDecoration;
import com.bumptech.glide.load.engine.Resource; import com.bumptech.glide.load.engine.Resource;
import com.google.android.material.snackbar.Snackbar; import com.google.android.material.snackbar.Snackbar;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.yono.messeripos.R;
import com.yono.messeripos.adapter.CategoryAdapter;
import com.yono.messeripos.models.CategoryModels;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.text.DecimalFormat; import java.text.DecimalFormat;
...@@ -31,7 +38,21 @@ import java.util.regex.Pattern; ...@@ -31,7 +38,21 @@ import java.util.regex.Pattern;
public class Utils { public class Utils {
public Utils(){};
public Utils(View v){};
public long grandTotal = 0; public long grandTotal = 0;
public static TextView btnCard;
public interface DialogListener {
void onClickDisimiss(AlertDialog alertDialog);
}
private DialogListener listener;
public void setListener(DialogListener listener) {
this.listener = listener;
}
public String convertPrice(String mataUang, int nilai ){ public String convertPrice(String mataUang, int nilai ){
DecimalFormat rupiah = (DecimalFormat) DecimalFormat.getCurrencyInstance(); DecimalFormat rupiah = (DecimalFormat) DecimalFormat.getCurrencyInstance();
...@@ -179,10 +200,116 @@ public class Utils { ...@@ -179,10 +200,116 @@ public class Utils {
} }
public boolean isValidPassword(String pass){ public boolean isValidPassword(String pass) {
String regex = "^(?=.*[A-Za-z-0-9])(?=.*\\d)[A-Za-z-0-9\\d]{8,}$"; String regex = "^(?=.*[A-Za-z-0-9])(?=.*\\d)[A-Za-z-0-9\\d]{8,}$";
Pattern pattern = Pattern.compile(regex); Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(pass); Matcher matcher = pattern.matcher(pass);
return matcher.matches(); return matcher.matches();
} }
/**
* Alert Dialog
* @param context
* @param cancelable
* @param view
* @return
*/
public AlertDialog dialog(Context context, Boolean cancelable, View view) {
CardView btCard = view.findViewById(R.id.cvAlertOnClick);
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setCancelable(cancelable)
.setView(view);
AlertDialog dialog = builder.create();
dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
btnCard.setOnClickListener(view1 -> listener.onClickDisimiss(dialog));
return dialog;
}
public AlertDialog dialog(Context context, Boolean cancelable, View view, @Nullable String titles) {
TextView title = view.findViewById(R.id.alertTitles);
CardView btCard = view.findViewById(R.id.cvAlertOnClick);
// set title and message
if (titles != null){
title.setText(titles);
}
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setCancelable(cancelable)
.setView(view);
AlertDialog dialog = builder.create();
dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
btnCard.setOnClickListener(view1 -> listener.onClickDisimiss(dialog));
return dialog;
}
public AlertDialog dialog(Context context, Boolean cancelable, View view, @Nullable String titles, @Nullable String messages) {
TextView title = view.findViewById(R.id.alertTitles);
TextView message = view.findViewById(R.id.alertBody);
CardView btCard = view.findViewById(R.id.cvAlertOnClick);
// set title and message
if (titles != null){
title.setText(titles);
}
if (message != null){
message.setText(messages);
}
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setCancelable(cancelable)
.setView(view);
AlertDialog dialog = builder.create();
dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
btnCard.setOnClickListener(view1 -> listener.onClickDisimiss(dialog));
return dialog;
}
public AlertDialog dialog(Context context, Boolean cancelable, View view, @Nullable String titles, @Nullable String messages, @Nullable String buttons) {
TextView title = view.findViewById(R.id.alertTitles);
TextView message = view.findViewById(R.id.alertBody);
TextView button = view.findViewById(R.id.tvTextBtn);
CardView btnCard = view.findViewById(R.id.cvAlertOnClick);
// set title and message
if (titles != null){
title.setText(titles);
}
if (message != null){
message.setText(messages);
}
if (button != null){
button.setText(buttons);
}
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setCancelable(cancelable)
.setView(view);
AlertDialog dialog = builder.create();
dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
btnCard.setOnClickListener(view1 -> listener.onClickDisimiss(dialog));
return dialog;
}
// get window size
public int getWindowHeight() {
return Resources.getSystem().getDisplayMetrics().heightPixels;
}
public int getWindowWidth() {
return Resources.getSystem().getDisplayMetrics().widthPixels;
}
} }
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0%" <alpha
android:toYDelta="100%" android:fromAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime"/> android:toAlpha="0.0"
android:duration="2000"/>
</set> </set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:fromYDelta="0%"
android:toYDelta="100%"
android:duration="@android:integer/config_mediumAnimTime"/>
</set>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/bounce_interpolator">
<scale
android:duration="1300"
android:fromXScale="0.0"
android:fromYScale="0.0"
android:pivotY="50%"
android:pivotX="50%"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/bounce_interpolator">
<scale
android:duration="1300"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotY="50%"
android:pivotX="50%"
android:toXScale="0.0"
android:toYScale="0.0" />
</set>
\ No newline at end of file
<vector android:height="24dp" android:tint="#B6B6B6"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout android:layout_height="wrap_content"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.card.MaterialCardView
android:id="@+id/cvAlertDialog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardElevation="0dp"
app:cardBackgroundColor="@android:color/transparent"
android:layout_marginVertical="10dp"
android:layout_marginHorizontal="20dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/divider"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/alertTitles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@android:string/dialog_alert_title"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="10dp"
android:layout_gravity="center"/>
<TextView
android:id="@+id/alertBody"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your username or password wrong"
android:textSize="18sp"
android:gravity="center"
android:layout_gravity="center"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<View
android:id="@+id/divider"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="1dp"
style="@style/Divider.Horizontal"
app:layout_constraintTop_toBottomOf="@id/cvAlertDialog"/>
<com.google.android.material.card.MaterialCardView
android:id="@+id/cvAlertOnClick"
app:cardCornerRadius="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
app:layout_constraintTop_toBottomOf="@id/divider">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvTextBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Coba Lagi"
android:textSize="18sp"
android:paddingVertical="15dp"
android:gravity="center"/>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -26,14 +26,24 @@ ...@@ -26,14 +26,24 @@
android:scaleType="centerInside" android:scaleType="centerInside"
android:src="@drawable/ic_close" /> android:src="@drawable/ic_close" />
<ScrollView
android:layout_below="@id/closeBtnLogin"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView <ImageView
android:id="@+id/messerLogoInLogin" android:id="@+id/messerLogoInLogin"
android:layout_width="150dp" android:layout_width="wrap_content"
android:layout_height="150dp" android:layout_height="213dp"
android:layout_below="@id/closeBtnLogin"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:src="@drawable/ic_messer_primary" /> android:layout_marginBottom="40dp"
android:src="@drawable/login_image" />
<com.google.android.material.textview.MaterialTextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/tvLogin" android:id="@+id/tvLogin"
...@@ -59,6 +69,7 @@ ...@@ -59,6 +69,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:imeOptions="actionNext" android:imeOptions="actionNext"
android:textColor="@color/colorPrimary"
android:inputType="text" /> android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
...@@ -77,25 +88,18 @@ ...@@ -77,25 +88,18 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:imeOptions="actionDone|actionGo" android:imeOptions="actionDone|actionGo"
android:textColor="@color/colorPrimary"
android:inputType="textPassword" /> android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<CheckBox
android:id="@+id/CBRememberMe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/FormPasswordLogin"
android:layout_marginVertical="10dp"
android:text="Remember Me"
android:textColor="@color/colorPrimary"
app:useMaterialThemeColors="true" />
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintBtn" android:id="@+id/constraintBtn"
android:layout_below="@id/CBRememberMe" android:layout_below="@id/FormPasswordLogin"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_marginTop="20dp">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/SignInButtonInLogin" android:id="@+id/SignInButtonInLogin"
...@@ -133,6 +137,8 @@ ...@@ -133,6 +137,8 @@
android:textColor="@color/colorPrimary"/> android:textColor="@color/colorPrimary"/>
</RelativeLayout> </RelativeLayout>
</ScrollView>
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>
......
...@@ -25,12 +25,22 @@ ...@@ -25,12 +25,22 @@
/> />
<ScrollView
android:layout_below="@id/ivclose"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView <ImageView
android:id="@+id/ivMeserRegister" android:id="@+id/ivMeserRegister"
android:layout_width="150dp" android:layout_width="match_parent"
android:layout_height="150dp" android:layout_height="213dp"
android:src="@drawable/ic_messer_primary" android:src="@drawable/register_image"
android:layout_below="@+id/ivclose" android:layout_marginTop="20dp"
android:layout_marginBottom="40dp"
android:layout_centerHorizontal="true" /> android:layout_centerHorizontal="true" />
<com.google.android.material.textview.MaterialTextView <com.google.android.material.textview.MaterialTextView
...@@ -45,8 +55,6 @@ ...@@ -45,8 +55,6 @@
android:paddingLeft="12dp" android:paddingLeft="12dp"
/> />
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/formUsernameReg" android:id="@+id/formUsernameReg"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -141,6 +149,11 @@ ...@@ -141,6 +149,11 @@
android:text="Create Account" android:text="Create Account"
android:layout_below="@id/cbAgree" android:layout_below="@id/cbAgree"
android:padding="20dp"/> android:padding="20dp"/>
</RelativeLayout>
</ScrollView>
</RelativeLayout> </RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
<item name="android:fontFamily">@font/roboto</item> <item name="android:fontFamily">@font/roboto</item>
<item name="actionBarStyle">@style/ThemeActionBar</item> <item name="actionBarStyle">@style/ThemeActionBar</item>
<item name="bottomSheetDialogTheme">@style/ThemeOverlay.Rounded.BottomSheetDialog</item> <item name="bottomSheetDialogTheme">@style/ThemeOverlay.Rounded.BottomSheetDialog</item>
</style> </style>
<style name="AppTheme.my.a" parent="Theme.MaterialComponents.Light.NoActionBar"> <style name="AppTheme.my.a" parent="Theme.MaterialComponents.Light.NoActionBar">
...@@ -98,4 +97,23 @@ ...@@ -98,4 +97,23 @@
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
</style> </style>
<style name="Divider">
<item name="android:background">#36333333</item> //you can give your color here. that will change all divider color in your app.
</style>
<style name="Divider.Horizontal" parent="Divider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item> // You can change thickness here.
</style>
<style name="Divider.Vertical" parent="Divider">
<item name="android:layout_width">1dp</item>
<item name="android:layout_height">match_parent</item>
</style>
<style name="DialogAnimation">
<item name="android:windowEnterAnimation">@anim/zoom_in_bounce</item>
<item name="android:windowExitAnimation">@anim/zoom_out_bounce</item>
</style>
</resources> </resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment