Implementata prima parte del bottomSheet

This commit is contained in:
Giuseppe Scorrano 2018-04-12 11:47:57 +02:00
parent 1d291e4420
commit 1098c7573e
27 changed files with 1112 additions and 129 deletions

48
.idea/assetWizardSettings.xml generated Normal file
View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WizardSettings">
<option name="children">
<map>
<entry key="vectorWizard">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="vectorAssetStep">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="clipartAsset">
<value>
<PersistentState>
<option name="values">
<map>
<entry key="url" value="jar:file:/C:/Program%20Files/Android/Android%20Studio/plugins/android/lib/android.jar!/images/material_design_icons/navigation/ic_close_black_24dp.xml" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
<option name="values">
<map>
<entry key="color" value="ffffff" />
<entry key="outputName" value="ic_close_24dp" />
<entry key="overrideSize" value="true" />
<entry key="sourceFile" value="C:\Users\GiuseppeS" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</component>
</project>

Binary file not shown.

View File

@ -1,7 +1,7 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
android { android {
compileSdkVersion 25 compileSdkVersion 26
buildToolsVersion '27.0.3' buildToolsVersion '27.0.3'
defaultConfig { defaultConfig {
applicationId "it.integry.integrywmsnative" applicationId "it.integry.integrywmsnative"
@ -24,12 +24,12 @@ dependencies {
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'support-annotations'
}) })
implementation 'com.android.support:appcompat-v7:25.4.0' implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:support-v4:25.4.0' implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:design:25.4.0' implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:cardview-v7:25.4.0' implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:recyclerview-v7:25.4.0' implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.0.0' implementation 'com.squareup.retrofit2:converter-gson:2.0.0'
@ -40,5 +40,11 @@ dependencies {
//implementation 'com.getbase:floatingactionbutton:1.10.1' //implementation 'com.getbase:floatingactionbutton:1.10.1'
implementation 'com.github.clans:fab:1.6.4' implementation 'com.github.clans:fab:1.6.4'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.mahc.custombottomsheetbehavior:googlemaps-like:0.9.1'
implementation 'com.sothree.slidinguppanel:library:3.4.0'
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
} }

View File

@ -14,8 +14,8 @@ public class RESTBuilder {
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new HttpInterceptor()).build(); OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new HttpInterceptor()).build();
Retrofit retrofit = new Retrofit.Builder() Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://192.168.2.13:8080/ems-api/") // .baseUrl("http://192.168.2.13:8080/ems-api/")
// .baseUrl("http://www2.studioml.it/ems-api/") .baseUrl("http://www2.studioml.it/ems-api/")
.client(client) .client(client)
.addConverterFactory(GsonConverterFactory.create()) .addConverterFactory(GsonConverterFactory.create())
.build(); .build();

View File

@ -1,6 +1,7 @@
package it.integry.integrywmsnative.core.model; package it.integry.integrywmsnative.core.model;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
@ -64,10 +65,15 @@ public class MtbColt extends EntityBase{
return this; return this;
} }
public String getDataCollo() { public String getDataColloS() {
return dataCollo; return dataCollo;
} }
public Date getDataColloD() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataColloS());
}
public MtbColt setDataCollo(String dataCollo) { public MtbColt setDataCollo(String dataCollo) {
this.dataCollo = dataCollo; this.dataCollo = dataCollo;
return this; return this;

View File

@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.utility;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.util.DisplayMetrics;
import android.util.TypedValue; import android.util.TypedValue;
public class UtilityDimension { public class UtilityDimension {
@ -13,7 +14,12 @@ public class UtilityDimension {
size, size,
r.getDisplayMetrics() r.getDisplayMetrics()
); );
}
public static float convertDpToPixel(float dp){
DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
float px = dp * (metrics.densityDpi / 160f);
return Math.round(px);
} }
} }

View File

@ -3,6 +3,7 @@ package it.integry.integrywmsnative.gest.accettazione;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.FloatingActionButton; import android.support.design.widget.FloatingActionButton;
@ -10,12 +11,13 @@ import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView; import android.support.v7.widget.SearchView;
import android.text.Html;
import android.text.SpannableString;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Toast; import android.widget.Toast;
import java.net.SocketException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -121,7 +123,7 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
if(errorMessage == null) errorMessage = ex.getMessage(); if(errorMessage == null) errorMessage = ex.getMessage();
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), errorMessage, null).show(); DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
} }
}); });
@ -241,14 +243,25 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting), final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting),
getText(R.string.loading) + " ...", true); getText(R.string.loading) + " ...", true);
helper.retrievePiclingList(barcodes, new ILoadPickingListCallback() { helper.retrievePickingList(barcodes, new ILoadPickingListCallback() {
@Override @Override
public void onLoadSuccess(List<OrdineAccettazioneDTO> ordini) { public void onLoadSuccess(final List<OrdineAccettazioneDTO> ordini) {
progress.dismiss(); progress.dismiss();
Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class); DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
myIntent.putExtra("key", (ArrayList<OrdineAccettazioneDTO>) ordini); //Optional parameters getText(R.string.orders).toString(),
getActivity().startActivity(myIntent); Html.fromHtml(String.format(getText(R.string.loaded_orders_message).toString(), ordini.size())),
null,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class);
myIntent.putExtra("key", (ArrayList<OrdineAccettazioneDTO>) ordini); //Optional parameters
getActivity().startActivity(myIntent);
}
}).show();
} }
@ -259,7 +272,7 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
if(errorMessage == null) errorMessage = ex.getMessage() + "\n" + ex.getCause().getCause().getMessage(); if(errorMessage == null) errorMessage = ex.getMessage() + "\n" + ex.getCause().getCause().getMessage();
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), errorMessage, null).show(); DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
} }
}); });

View File

@ -69,7 +69,7 @@ public class AccettazioneHelper {
}); });
} }
public void retrievePiclingList(List<String> barcodeOrdini, final ILoadPickingListCallback callback){ public void retrievePickingList(List<String> barcodeOrdini, final ILoadPickingListCallback callback){
String joinedBarcodes = TextUtils.join(",", barcodeOrdini); String joinedBarcodes = TextUtils.join(",", barcodeOrdini);

View File

@ -2,15 +2,20 @@ package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.support.design.widget.BottomSheetBehavior;
import android.support.design.widget.BottomSheetDialog;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.app.AlertDialog; import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.text.SpannableString;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.widget.LinearLayout;
import android.widget.Toast; import android.widget.Toast;
import com.github.clans.fab.FloatingActionButton; import com.github.clans.fab.FloatingActionButton;
@ -36,6 +41,7 @@ import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.core.Accetta
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.core.MainListOrdineAccettazioneAdapter; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.core.MainListOrdineAccettazioneAdapter;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoOrderBy; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoOrderBy;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.views.NoteAggiuntiveNuovaULDialog; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.views.NoteAggiuntiveNuovaULDialog;
import it.integry.integrywmsnative.view.ArticoliInColloBottomSheetHelper;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
public class AccettazioneOrdineInevasoActivity extends AppCompatActivity { public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
@ -48,6 +54,8 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
@BindView(R.id.accettazione_ordine_inevaso_fab_item1) FloatingActionButton fabItem1; @BindView(R.id.accettazione_ordine_inevaso_fab_item1) FloatingActionButton fabItem1;
@BindView(R.id.accettazione_ordine_inevaso_fab_item2) FloatingActionButton fabItem2; @BindView(R.id.accettazione_ordine_inevaso_fab_item2) FloatingActionButton fabItem2;
@BindView(R.id.bottom_sheet1) View layoutBottomSheet;
private MainListOrdineAccettazioneAdapter mAdapter; private MainListOrdineAccettazioneAdapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager; private RecyclerView.LayoutManager mLayoutManager;
@ -61,6 +69,7 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
private Context mContext = this; private Context mContext = this;
private ArticoliInColloBottomSheetHelper mArticoliInColloBottomSheetHelper;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -86,6 +95,8 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
groupedRighe = helper.getOrdiniRaggruppatiPerCodArtForn(groupedOrdini); groupedRighe = helper.getOrdiniRaggruppatiPerCodArtForn(groupedOrdini);
initRecyclerView(groupedRighe); initRecyclerView(groupedRighe);
initBottomDialog();
} }
@Override @Override
@ -137,11 +148,15 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
mAdapter = helper.getRightListAdapter(AccettazioneOrdineInevasoOrderBy.Enum.COD_ART_FOR, groupedRighe); mAdapter = helper.getRightListAdapter(AccettazioneOrdineInevasoOrderBy.Enum.COD_ART_FOR, groupedRighe);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
DialogSimpleMessageHelper.makeErrorDialog(this, e.toString(), null).show(); DialogSimpleMessageHelper.makeErrorDialog(this, new SpannableString(e.toString()), null, null).show();
} }
mRecyclerView.setAdapter(mAdapter); mRecyclerView.setAdapter(mAdapter);
} }
private void initBottomDialog(){
mArticoliInColloBottomSheetHelper = new ArticoliInColloBottomSheetHelper(this, layoutBottomSheet);
}
private void showOrderDialog() { private void showOrderDialog() {
@ -215,7 +230,8 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
ColliMagazzinoRESTConsumer.saveCollo(mtbColt, new ISimpleOperationCallback<MtbColt>() { ColliMagazzinoRESTConsumer.saveCollo(mtbColt, new ISimpleOperationCallback<MtbColt>() {
@Override @Override
public void onSuccess(MtbColt value) { public void onSuccess(MtbColt value) {
DialogSimpleMessageHelper.makeInfoDialog(mContext, "Salvataggio", "Salvataggio collo avvenuto con successo\nNumero collo: " + value.getNumCollo(), null).show(); mArticoliInColloBottomSheetHelper.initCollo(value);
DialogSimpleMessageHelper.makeInfoDialog(mContext, "Creazione UL",new SpannableString("Salvataggio collo avvenuto con successo"), null, null).show();
} }
@Override @Override
@ -223,7 +239,7 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
if(errorMessage == null) errorMessage = ex.getMessage(); if(errorMessage == null) errorMessage = ex.getMessage();
DialogSimpleMessageHelper.makeErrorDialog(mContext, errorMessage, null).show(); DialogSimpleMessageHelper.makeErrorDialog(mContext, new SpannableString(errorMessage), null, null).show();
} }
}); });

View File

@ -0,0 +1,135 @@
package it.integry.integrywmsnative.view;
import android.support.annotation.NonNull;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.AppCompatButton;
import android.support.v7.widget.AppCompatTextView;
import android.support.v7.widget.Toolbar;
import android.text.SpannableString;
import android.view.View;
import android.widget.RelativeLayout;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
public class ArticoliInColloBottomSheetHelper extends BottomSheetBehavior.BottomSheetCallback {
private AppCompatActivity mActivity;
@BindView(R.id.articoli_in_collo_sheet_button) AppCompatButton mSheetButtonToggle;
@BindView(R.id.articoli_in_collo_close_collo) AppCompatButton mCloseULButton;
@BindView(R.id.articoli_in_collo_title) AppCompatTextView mTitleTextView;
@BindView(R.id.articoli_in_collo_details_date) AppCompatTextView mDetailDateTextView;
@BindView(R.id.articoli_in_collo_details_posizione) AppCompatTextView mDetailPosizioneTextView;
@BindView(R.id.articoli_in_collo_details_preparatoDa) AppCompatTextView mDetailPreparatoDaTextView;
@BindView(R.id.appbar_bottom_sheet) AppBarLayout appBarLayoutBottomSheet;
@BindView(R.id.toolbar_bottom_sheet) Toolbar toolbarBottomSheet;
@BindView(R.id.tap_action_layout) RelativeLayout tapActionLayout;
private BottomSheetBehavior mBottomSheetBehavior;
private MtbColt mMtbColt;
public ArticoliInColloBottomSheetHelper(AppCompatActivity context, View rootView){
mActivity = context;
ButterKnife.bind(this, rootView);
mBottomSheetBehavior = BottomSheetBehavior.from(rootView);
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
mBottomSheetBehavior.setBottomSheetCallback(this);
toolbarBottomSheet.setNavigationIcon(R.drawable.ic_close_24dp);
toolbarBottomSheet.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_EXPANDED) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
});
tapActionLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_COLLAPSED) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
}
});
mCloseULButton.setText(mActivity.getText(R.string.action_close_ul) + " ");
updateRigheNumber(0);
}
public void initCollo(MtbColt mtbColt){
this.mMtbColt = mtbColt;
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy");
mTitleTextView.setText(String.format(mActivity.getText(R.string.articoli_in_collo_sheet_title).toString(), mtbColt.getNumCollo()));
try {
mDetailDateTextView.setText(sdf.format(mtbColt.getDataColloD()));
} catch (ParseException e) {
e.printStackTrace();
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(e.toString()), null, null).show();
}
mDetailPosizioneTextView.setText(mtbColt.getPosizione() != null ? mtbColt.getPosizione() : "N/A");
mDetailPreparatoDaTextView.setText(mtbColt.getPreparatoDa() != null ? mtbColt.getPreparatoDa() : "N/A");
}
public void updateRigheNumber(int newRigheNumber){
mSheetButtonToggle.setText(" " + newRigheNumber + " " + mActivity.getResources().getQuantityString(R.plurals.articles, newRigheNumber));
}
@OnClick(R.id.articoli_in_collo_sheet_button)
public void onClick(View view) {
if (mBottomSheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
} else {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
switch (newState) {
case BottomSheetBehavior.STATE_HIDDEN:
// mRootView.scrollTo(0, 0);
break;
case BottomSheetBehavior.STATE_EXPANDED:
break;
case BottomSheetBehavior.STATE_COLLAPSED:
// mRootView.scrollTo(0, 0);
break;
case BottomSheetBehavior.STATE_DRAGGING:
// mRootView.scrollTo(0, 0);
break;
case BottomSheetBehavior.STATE_SETTLING:
// mRootView.scrollTo(0, 0);
break;
}
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
appBarLayoutBottomSheet.setAlpha(slideOffset);
tapActionLayout.setAlpha(1-slideOffset);
}
}

View File

@ -3,11 +3,26 @@ package it.integry.integrywmsnative.view.dialogs;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
import android.support.constraint.ConstraintLayout;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.AppCompatImageView;
import android.support.v7.widget.AppCompatTextView;
import android.text.Html;
import android.text.Spanned;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import java.util.HashMap;
import de.hdodenhof.circleimageview.CircleImageView;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityDimension;
/** /**
* Created by GiuseppeS on 22/03/2018. * Created by GiuseppeS on 22/03/2018.
@ -17,8 +32,9 @@ public class DialogSimpleMessageHelper {
public enum TYPE { public enum TYPE {
INFO(1), INFO(1),
WARNING(2), SUCCESS(2),
ERROR(3); WARNING(3),
ERROR(4);
private int value; private int value;
TYPE(int value) { TYPE(int value) {
@ -36,40 +52,69 @@ public class DialogSimpleMessageHelper {
} }
} }
private static AlertDialog makeBase(TYPE type, Context mContext, String titleText, String messageText, DialogInterface.OnClickListener onPositiveClick, DialogInterface.OnClickListener onNegativeClick){ private static AlertDialog makeBase(TYPE type, Context mContext, String titleText, Spanned messageText, HashMap<String, String> hashmapContent, DialogInterface.OnClickListener onPositiveClick, DialogInterface.OnClickListener onNegativeClick){
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); LayoutInflater inflater = (LayoutInflater) mContext.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
View titleView = inflater.inflate(R.layout.dialog_custom_header, null);
int colorBackgroundTitle = -1; int colorBackgroundTitle = -1;
int colorTextTitle = -1; Drawable titleIconRes = null;
switch (type){ switch (type){
case INFO: case INFO:
colorBackgroundTitle = mContext.getResources().getColor(R.color.colorPrimary); colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.colorPrimary);
colorTextTitle = mContext.getResources().getColor(android.R.color.white); titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_info_24dp);
break;
case SUCCESS:
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_500);
titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_done_white_24dp);
break; break;
case WARNING: case WARNING:
colorBackgroundTitle = mContext.getResources().getColor(R.color.yellow_600); colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600);
colorTextTitle = mContext.getResources().getColor(android.R.color.black); titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_warning_white_24dp);
break; break;
case ERROR: case ERROR:
colorBackgroundTitle = mContext.getResources().getColor(R.color.red_600); colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_600);
colorTextTitle = mContext.getResources().getColor(android.R.color.white); titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_error_white_24dp);
break; break;
} }
View backgroundView = titleView.findViewById(R.id.llsubhead); //Title VIEW
backgroundView.setBackgroundColor(colorBackgroundTitle); View titleView = inflater.inflate(R.layout.dialog_custom_header, null);
TextView title = (TextView) titleView.findViewById(R.id.exemptionSubHeading4); TextView title = titleView.findViewById(R.id.title_text);
title.setText(titleText); title.setText(titleText);
title.setTextColor(colorTextTitle);
AppCompatImageView civ = titleView.findViewById(R.id.title_icon);
ColorStateList colorStateList = ColorStateList.valueOf(colorBackgroundTitle);
civ.setImageTintList(colorStateList);
civ.setImageDrawable(titleIconRes);
//Content View
View contentView = inflater.inflate(R.layout.dialog_custom_content, null);
TextView contentMessage = contentView.findViewById(R.id.dialog_content_main_message);
contentMessage.setText(messageText);
LinearLayout hashMapContainer = contentView.findViewById(R.id.dialog_content_hashmap);
if(hashmapContent != null) {
for (int i = 0; i < hashmapContent.keySet().size(); i++) {
String currentKey = hashmapContent.keySet().toArray()[i].toString();
String currentValue = hashmapContent.get(currentKey);
RelativeLayout singleMapContent = (RelativeLayout) inflater.inflate(R.layout.dialog_custom_content_hashmap_viewmodel, null);
((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_key)).setText(currentKey);
((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_value)).setText(currentValue);
hashMapContainer.addView(singleMapContent);
}
}
AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext) AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext)
.setCustomTitle(titleView) .setCustomTitle(titleView)
.setMessage(messageText) .setView(contentView)
// .setMessage(messageText)
.setPositiveButton(mContext.getText(R.string.ok), onPositiveClick); .setPositiveButton(mContext.getText(R.string.ok), onPositiveClick);
if(onNegativeClick != null){ if(onNegativeClick != null){
@ -83,31 +128,45 @@ public class DialogSimpleMessageHelper {
} }
public static AlertDialog makeInfoDialog(Context mContext, String titleText, String messageText, DialogInterface.OnClickListener onPositiveClick){ public static AlertDialog makeInfoDialog(Context mContext, String titleText, Spanned messageText, HashMap<String, String> hashmapContent, DialogInterface.OnClickListener onPositiveClick){
return makeBase(TYPE.INFO, return makeBase(TYPE.INFO,
mContext, mContext,
titleText, titleText,
messageText, messageText,
hashmapContent,
onPositiveClick, onPositiveClick,
null); null);
} }
public static AlertDialog makeWarningDialog(Context mContext, String messageText, DialogInterface.OnClickListener onPositiveClick){ public static AlertDialog makeSuccessDialog(Context mContext, String titleText, Spanned messageText, HashMap<String, String> hashmapContent, DialogInterface.OnClickListener onPositiveClick){
return makeBase(TYPE.SUCCESS,
mContext,
titleText,
messageText,
hashmapContent,
onPositiveClick,
null);
}
public static AlertDialog makeWarningDialog(Context mContext, Spanned messageText, HashMap<String, String> hashmapContent, DialogInterface.OnClickListener onPositiveClick){
return makeBase(TYPE.WARNING, return makeBase(TYPE.WARNING,
mContext, mContext,
mContext.getText(R.string.warning).toString(), mContext.getText(R.string.warning).toString(),
messageText, messageText,
hashmapContent,
onPositiveClick, onPositiveClick,
null); null);
} }
public static AlertDialog makeErrorDialog(Context mContext, String messageText, DialogInterface.OnClickListener onPositiveClick){ public static AlertDialog makeErrorDialog(Context mContext, Spanned messageText, HashMap<String, String> hashmapContent, DialogInterface.OnClickListener onPositiveClick){
return makeBase(TYPE.ERROR, return makeBase(TYPE.ERROR,
mContext, mContext,
mContext.getText(R.string.error).toString(), mContext.getText(R.string.error).toString(),
messageText, messageText,
hashmapContent,
onPositiveClick, onPositiveClick,
null); null);

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#0074E4"/>
<size
android:width="100dp"
android:height="100dp"/>
</shape>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@android:color/white" />
<padding
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners android:radius="500dp" />
</shape>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="120dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="120dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="76dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="76dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="120dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="120dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="76dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="76dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z"/>
</vector>

View File

@ -1,97 +1,113 @@
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context="it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity"> android:fitsSystemWindows="true"
xmlns:fab="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.AppBarLayout <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
android:id="@+id/appbarlayout">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="match_parent"
android:background="?attr/colorPrimary" android:orientation="vertical">
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar> <android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.design.widget.AppBarLayout> <android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="?attr/colorPrimary">
<android.support.v7.widget.RecyclerView <android.support.v7.widget.Toolbar
android:id="@+id/accettazione_ordine_main_list" android:id="@+id/toolbar"
android:layout_width="0dp" android:layout_height="?attr/actionBarSize"
android:layout_height="0dp" app:layout_collapseMode="pin"
android:scrollbars="vertical" android:minHeight="?attr/actionBarSize"
app:layout_constraintBottom_toBottomOf="parent" android:layout_width="match_parent"
app:layout_constraintEnd_toEndOf="parent" app:titleTextColor="@android:color/white"
app:layout_constraintStart_toStartOf="parent" android:background="?attr/colorPrimary"
app:layout_constraintTop_toBottomOf="@+id/appbarlayout" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_constraintWidth_default="spread" /> app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
<com.github.clans.fab.FloatingActionMenu </android.support.design.widget.AppBarLayout>
android:id="@+id/accettazione_ordine_inevaso_fab"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
fab:menu_fab_size="normal"
fab:menu_showShadow="true"
fab:menu_shadowColor="#66000000"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="3dp"
fab:menu_colorNormal="@color/colorPrimary"
fab:menu_colorPressed="@color/colorPrimaryDark"
fab:menu_animationDelayPerItem="50"
fab:menu_buttonSpacing="0dp"
fab:menu_labels_margin="0dp"
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
fab:menu_labels_paddingTop="4dp"
fab:menu_labels_paddingRight="8dp"
fab:menu_labels_paddingBottom="4dp"
fab:menu_labels_paddingLeft="8dp"
fab:menu_labels_padding="8dp"
fab:menu_labels_textColor="@color/black_semi_transparent"
fab:menu_labels_textSize="18sp"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_colorNormal="@color/white"
fab:menu_labels_colorPressed="@color/white_pressed"
fab:menu_labels_colorRipple="#66FFFFFF"
fab:menu_labels_showShadow="true"
fab:menu_labels_position="left"
fab:menu_openDirection="up"
fab:menu_backgroundColor="@color/white_bg_alpha">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_box"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
fab:fab_label="@string/action_show_created_ul" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add_24dp"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
fab:fab_label="@string/action_create_ul" />
</com.github.clans.fab.FloatingActionMenu> <android.support.v7.widget.RecyclerView
android:id="@+id/accettazione_ordine_main_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.constraint.ConstraintLayout> <com.github.clans.fab.FloatingActionMenu
android:id="@+id/accettazione_ordine_inevaso_fab"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
fab:menu_fab_size="normal"
fab:menu_showShadow="true"
fab:menu_shadowColor="#66000000"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="3dp"
fab:menu_colorNormal="@color/colorPrimary"
fab:menu_colorPressed="@color/colorPrimaryDark"
fab:menu_animationDelayPerItem="50"
fab:menu_buttonSpacing="0dp"
fab:menu_labels_margin="0dp"
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
fab:menu_labels_paddingTop="4dp"
fab:menu_labels_paddingRight="8dp"
fab:menu_labels_paddingBottom="4dp"
fab:menu_labels_paddingLeft="8dp"
fab:menu_labels_padding="8dp"
fab:menu_labels_textColor="@color/black_semi_transparent"
fab:menu_labels_textSize="18sp"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_colorNormal="@color/white"
fab:menu_labels_colorPressed="@color/white_pressed"
fab:menu_labels_colorRipple="#66FFFFFF"
fab:menu_labels_showShadow="true"
fab:menu_labels_position="left"
fab:menu_openDirection="up"
fab:menu_backgroundColor="@color/white_bg_alpha">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_box"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
fab:fab_label="@string/action_show_created_ul" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add_24dp"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
fab:fab_label="@string/action_create_ul" />
</com.github.clans.fab.FloatingActionMenu>
</android.support.design.widget.CoordinatorLayout>
</RelativeLayout>
<include layout="@layout/fragment_articoli_in_collo_bottom_sheet"></include>
</android.support.design.widget.CoordinatorLayout>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="12dp"
android:paddingRight="12dp">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/dialog_content_main_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@android:color/black"
android:textSize="18sp"
android:text="Message text here"/>
<LinearLayout
android:id="@+id/dialog_content_hashmap"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:layout_marginTop="12dp">
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="6dp">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.40" />
<TextView
android:id="@+id/dialog_content_hashmap_key"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
tools:text="TextView"
android:textColor="@android:color/black"
android:textSize="16sp"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/dialog_content_hashmap_value"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
tools:text="TextView"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>
</RelativeLayout>
<!--<LinearLayout-->
<!--xmlns:android="http://schemas.android.com/apk/res/android"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:orientation="horizontal"-->
<!--android:layout_marginTop="8dp"-->
<!--android:weightSum="1">-->
<!--<android.support.v7.widget.AppCompatTextView-->
<!--android:id="@+id/dialog_content_hashmap_key"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:text="Key"-->
<!--android:textColor="@android:color/black"-->
<!--android:layout_weight="0.4"/>-->
<!--<android.support.v7.widget.AppCompatTextView-->
<!--android:id="@+id/dialog_content_hashmap_value"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:text="Value"-->
<!--android:layout_weight="0.6"/>-->
<!--</LinearLayout>-->

View File

@ -1,4 +1,5 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="match_parent" android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<LinearLayout <LinearLayout
@ -6,13 +7,20 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:paddingLeft="10dp" android:padding="24dp"
android:paddingRight="10dp"
android:id="@+id/llsubhead" android:id="@+id/llsubhead"
android:background="@color/colorPrimary"> >
<android.support.v7.widget.AppCompatImageView
android:id="@+id/title_icon"
android:layout_width="76dp"
android:layout_height="76dp"
android:layout_gravity="center"
android:src="@drawable/ic_info_24dp"
android:tint="@color/green_500"/>
<TextView <TextView
android:id="@+id/exemptionSubHeading4" android:id="@+id/title_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
@ -20,6 +28,13 @@
android:layout_weight="1" android:layout_weight="1"
android:text="Exemption Sub Head" android:text="Exemption Sub Head"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:textColor="@android:color/white" /> android:gravity="center"
android:textColor="@android:color/black"
android:textSize="24sp"/>
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="#AAA"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@ -0,0 +1,455 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottom_sheet1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:fitsSystemWindows="false"
app:behavior_peekHeight="?attr/actionBarSize"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
app:behavior_hideable="false">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="false">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryDark">
<RelativeLayout
android:id="@+id/tap_action_layout"
android:padding="4dp"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="@android:color/white">
<android.support.v7.widget.AppCompatButton
android:id="@+id/articoli_in_collo_sheet_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableStart="@drawable/ic_box"
android:text=" 0 REFERENCES"
android:textColor="@color/colorPrimary"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:elevation="0dp"
android:theme="@style/white_button"
android:textSize="16sp"/>
<android.support.v7.widget.AppCompatButton
android:id="@+id/articoli_in_collo_close_collo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/ic_close_24dp"
android:drawableTint="@color/red_600"
android:text="@string/action_close_ul"
android:textColor="@color/red_600"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:elevation="0dp"
android:theme="@style/white_button"
android:layout_alignParentEnd="true"
android:textSize="16sp"/>
</RelativeLayout>
</RelativeLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="36dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textColor="@android:color/black"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/details_text"
android:textAllCaps="true"
android:textStyle="bold"/>
<LinearLayout
android:padding="15dp"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.constraint.Guideline
android:id="@+id/guideline1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.40"
app:layout_constraintGuide_begin="100dp" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/date_text"
android:textColor="@android:color/black"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/articoli_in_collo_details_date"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:text="TextView"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="@+id/guideline1"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.constraint.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.40" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/position_text"
android:textColor="@android:color/black"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/articoli_in_collo_details_posizione"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:text="TextView"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="@+id/guideline2"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.constraint.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.40" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/prepared_by_text"
android:textColor="@android:color/black"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/articoli_in_collo_details_preparatoDa"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:text="TextView"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp"
android:layout_margin="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textColor="@android:color/black"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="QUICK ACTIONS"
android:textStyle="bold"/>
<LinearLayout
android:padding="15dp"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_weight="1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_margin="10dp"
android:gravity="center"
android:layout_gravity="center"
android:background="@drawable/circleshape"
android:layout_width="60dp"
android:layout_height="60dp">
<ImageView
android:src="@drawable/ic_done_white_24dp"
android:scaleType="fitXY"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
<TextView
android:layout_gravity="center"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/darker_gray"
android:text="Drive"/>
</LinearLayout>
<LinearLayout
android:layout_weight="1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_margin="10dp"
android:gravity="center"
android:layout_gravity="center"
android:background="@drawable/circleshape"
android:layout_width="60dp"
android:layout_height="60dp">
<ImageView
android:src="@drawable/ic_done_white_24dp"
android:scaleType="fitXY"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
<TextView
android:layout_gravity="center"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/darker_gray"
android:text="Train or Bus"/>
</LinearLayout>
<LinearLayout
android:layout_weight="1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_margin="10dp"
android:gravity="center"
android:layout_gravity="center"
android:background="@drawable/circleshape"
android:layout_width="60dp"
android:layout_height="60dp">
<ImageView
android:src="@drawable/ic_done_white_24dp"
android:scaleType="fitXY"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
<TextView
android:layout_gravity="center"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/darker_gray"
android:text="Walk"/>
</LinearLayout>
<LinearLayout
android:layout_weight="1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_margin="10dp"
android:gravity="center"
android:layout_gravity="center"
android:padding="10dp"
android:background="@drawable/circleshape"
android:layout_width="60dp"
android:layout_height="60dp">
<ImageView
android:src="@drawable/ic_done_white_24dp"
android:layout_width="35dp"
android:layout_height="35dp"/>
</RelativeLayout>
<TextView
android:layout_gravity="center"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/darker_gray"
android:text="Cab"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar_bottom_sheet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="?attr/colorPrimary"
android:alpha="0">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_bottom_sheet"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:layout_width="match_parent"
android:background="?attr/colorPrimary"
app:titleTextColor="@android:color/white"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/articoli_in_collo_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="8dp"
android:gravity="center"
android:text="Cioccolato"
android:textAppearance="@android:style/TextAppearance.Material.Title"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
</RelativeLayout>
</RelativeLayout>
</LinearLayout>

View File

@ -23,4 +23,22 @@
<string name="confirm">Conferma</string> <string name="confirm">Conferma</string>
<string name="hint_additional_notes">Note Aggiuntive</string> <string name="hint_additional_notes">Note Aggiuntive</string>
<string name="dialog_message_additional_notes">Inserisci eventuali note aggiuntive della tua UL</string> <string name="dialog_message_additional_notes">Inserisci eventuali note aggiuntive della tua UL</string>
<plurals name="references">
<item quantity="one">referenza</item>
<item quantity="other">referenze</item>
</plurals>
<plurals name="articles">
<item quantity="one">articolo</item>
<item quantity="other">articoli</item>
</plurals>
<string name="action_close_ul">Chiudi UL</string>
<string name="already_read_articles">Articoli presenti</string>
<string name="orders">Ordini</string>
<string name="loaded_orders_message"><![CDATA[Sono stati caricati <b>%d</b> ordini]]></string>
<string name="articoli_in_collo_sheet_title"><![CDATA[Unità numero %d]]></string>
<string name="details_text">Dettagli</string>
<string name="date_text">Data</string>
<string name="position_text">Posizione</string>
<string name="prepared_by_text">Preparato da</string>
</resources> </resources>

View File

@ -31,4 +31,26 @@
<string name="hint_additional_notes">Additional notes</string> <string name="hint_additional_notes">Additional notes</string>
<string name="dialog_message_additional_notes">Enter any additional notes in your logistics unit</string> <string name="dialog_message_additional_notes">Enter any additional notes in your logistics unit</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<plurals name="references">
<item quantity="one">reference</item>
<item quantity="other">references</item>
</plurals>
<plurals name="articles">
<item quantity="one">item</item>
<item quantity="other">items</item>
</plurals>
<string name="action_close_ul">Close LU</string>
<string name="already_read_articles">Submitted items</string>
<string name="orders">Orders</string>
<string name="loaded_orders_message"><![CDATA[<b>%d</b> orders loaded]]></string>
<string name="articoli_in_collo_sheet_title"><![CDATA[Unit #%d]]></string>
<string name="details_text">Details</string>
<string name="date_text">Date</string>
<string name="position_text">Position</string>
<string name="prepared_by_text">Prepared by</string>
</resources> </resources>

View File

@ -22,4 +22,15 @@
<item name="android:textColor">@color/white</item> <item name="android:textColor">@color/white</item>
</style> </style>
<style name="white_button">
<item name="colorButtonNormal">@android:color/white</item>
</style>
<style name="transparent_button">
<item name="colorButtonNormal">@android:color/transparent</item>
</style>
</resources> </resources>

View File

@ -10,7 +10,7 @@ buildscript {
google() google()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.1.0' classpath 'com.android.tools.build:gradle:3.1.1'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files