Commit b3ca6979 authored by 王海's avatar 王海

Merge remote-tracking branch 'origin/master'

parents 2bfdee92 b8f16b94
......@@ -66,11 +66,10 @@ dependencies {
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
compile 'io.reactivex.rxjava2:rxjava:2.1.5'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.alibaba:fastjson:1.1.67.android'
compile 'com.blankj:utilcode:1.9.3'
compile 'com.alibaba:fastjson:1.2.39'
compile 'com.blankj:utilcode:1.11.1'
compile 'com.facebook.fresco:fresco:1.5.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile group: 'com.facebook.fresco', name: 'animated-gif', version: '1.5.0'
compile 'com.facebook.fresco:animated-gif:1.5.0'
compile 'com.hwangjr.rxbus:rxbus:2.0.0'
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
compile 'com.yanzhenjie:permission:1.1.2'
......@@ -80,7 +79,6 @@ dependencies {
compile 'com.contrarywind:Android-PickerView:3.2.5'
compile 'com.github.ybq:Android-SpinKit:1.1.0'
compile 'com.youth.banner:banner:1.4.10'
compile 'cn.jzvd:jiaozivideoplayer:6.0.0'
compile 'me.dm7.barcodescanner:zxing:1.9.8'
compile 'com.google.zxing:core:3.3.1'
compile(name: 'zx_print_library-debug', ext: 'aar')
......
......@@ -6,6 +6,8 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:name=".App"
android:allowBackup="true"
......
......@@ -2,8 +2,10 @@ package com.xingdata.zzdpos.ui.main.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.constraint.ConstraintLayout;
import android.support.v7.widget.GridLayoutManager;
import android.view.View;
import android.widget.LinearLayout;
import com.blankj.utilcode.util.ActivityUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
......@@ -21,6 +23,7 @@ import com.xingdata.zzdpos.ui.store.StoreActivity;
import com.xingdata.zzdpos.ui.vip.VipActivity;
import com.xingdata.zzdpos.util.MyMenuItemDecoration;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.SystemUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -39,6 +42,13 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
@Override
public void initView() {
if (SystemUtil.checkDeviceHasNavigationBar(getActivity())){
LinearLayout.LayoutParams cp = new LinearLayout.LayoutParams( mViewBinding.fragmentCasherRecycler.getLayoutParams());
cp.setMargins(0, 0, 0, 0);
mViewBinding.fragmentCasherRecycler.setLayoutParams(cp);
}
mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(),
2));
......
......@@ -87,11 +87,11 @@ public class OtherListFragment extends BaseFragment<OtherSelectPresenter, Fragme
else if (pager.getList().size() > 0) mOtherSelectAdapter.addData(pager.getList());
if (pager.isLastPage()) mOtherSelectAdapter.loadMoreEnd(isRefresh);
else mOtherSelectAdapter.loadMoreComplete();
if (mOtherSelectAdapter.getData().size() == 0) {
mViewBinding.viewLine.setVisibility(View.GONE);
} else {
mViewBinding.viewLine.setVisibility(View.VISIBLE);
}
// if (mOtherSelectAdapter.getData().size() == 0) {
// mViewBinding.viewLine.setVisibility(View.GONE);
// } else {
// mViewBinding.viewLine.setVisibility(View.VISIBLE);
// }
}
......
......@@ -76,10 +76,10 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd
mOnFocusChangeListener = (view, b) -> {
if (view instanceof EditText) {
EditText editText = (EditText) view;
if (b && editText.getText().toString().equals("0.0")) {
if (b && editText.getText().toString().equals("0.00")) {
editText.setText("");
} else if (!b && editText.getText().length() == 0) {
editText.setText("0.0");
editText.setText("0.00");
}
}
};
......
......@@ -52,10 +52,10 @@ public class PriceFragment extends BaseFragment<SsskuPresenter, FragmentSsskuPri
View.OnFocusChangeListener mOnFocusChangeListener = (view, b) -> {
if (view instanceof EditText) {
EditText editText = (EditText) view;
if (b && editText.getText().toString().equals("0.0")) {
if (b && editText.getText().toString().equals("0.00")) {
editText.setText("");
} else if (!b && editText.getText().length() == 0) {
editText.setText("0.0");
editText.setText("0.00");
}
}
};
......
......@@ -52,10 +52,10 @@ public class VipFragment extends BaseFragment<SsskuPresenter, FragmentSsskuVipBi
View.OnFocusChangeListener mOnFocusChangeListener = (view, b) -> {
if (view instanceof EditText) {
EditText editText = (EditText) view;
if (b && editText.getText().toString().equals("0.0")) {
if (b && editText.getText().toString().equals("0.00")) {
editText.setText("");
} else if (!b && editText.getText().length() == 0) {
editText.setText("0.0");
editText.setText("0.00");
}
}
};
......
......@@ -61,6 +61,7 @@ public class UserActivity extends BaseActivity<UserPresenter, ActivityUserBindin
@Override
public void delUserSus() {
mPresenter.userInfoFragment.pop();
mPresenter.userListFragment.delUserSus();
}
}
......@@ -25,7 +25,6 @@ public interface UserContract {
void addSusSus(Oper oper);
void updateUserSus(Oper oper);
void delUserSus();
}
abstract class Presenter extends BasePresenter<View> {
......@@ -34,5 +33,6 @@ public interface UserContract {
public abstract void querySta();
public abstract void updateUser(Oper oper);
public abstract void delUser(Oper oper);
public abstract void queryUser(String wd);
}
}
\ No newline at end of file
......@@ -92,6 +92,15 @@ public class UserPresenter extends UserContract.Presenter {
});
}
@Override
public void queryUser(String wd) {
ApiFactory.Oper.queryOper(wd).subscribe(operPager -> {
mView.queryOperSus(operPager);
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
public List<String> getOperLevelList() {
ArrayList<String> operLevelList = new ArrayList<>();
......@@ -99,6 +108,6 @@ public class UserPresenter extends UserContract.Presenter {
while (iterator.hasNext()) {
operLevelList.add(iterator.next().getKey());
}
return operLevelList.subList(0,operLevelList.size()-1);
return operLevelList.subList(0, operLevelList.size() - 1);
}
}
......@@ -11,6 +11,7 @@ import android.view.View;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment;
......@@ -64,6 +65,13 @@ public class UserListFragment extends BaseFragment<UserPresenter, FragmentUserLi
mPresenter.userInfoEditFragment.setOper(null);
start(mPresenter.userInfoEditFragment);
break;
case R.id.userSearch:
if(mViewBinding.userSearch.getText().toString().length()==0){
ToastUtils.showShort("搜索条件不能为空");
return;
}
mPresenter.queryUser(mViewBinding.userSearch.getText().toString());
break;
}
});
onRefresh();
......@@ -102,4 +110,5 @@ public class UserListFragment extends BaseFragment<UserPresenter, FragmentUserLi
public void delUserSus() {
onRefresh();
}
}
package com.xingdata.zzdpos.ui.store;
import android.animation.Keyframe;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import com.blankj.utilcode.constant.PermissionConstants;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.PermissionUtils;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
......@@ -64,6 +70,25 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> {
mPresenter.searchBarFocusChanged(b);
});
mViewBinding.btnScan.setOnClickListener(view -> {
PermissionUtils.permission(PermissionConstants.CAMERA)
.rationale(new PermissionUtils.OnRationaleListener() {
@Override
public void rationale(final ShouldRequest shouldRequest) {
}
})
.callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
showScanFragment();
}
@Override
public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) {
}
})
.request();
});
}
@Override
......@@ -97,8 +122,49 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding.setCartCount(saleorder.getOrderCnt());
mViewBinding.setOrderPayAmt(saleorder.getOrderPayAmt());
mViewBinding.setMsDisAmt(saleorder.getMsDisAmt());
if (mCartDialog.isShowing) mCartDialog.loadSaleorder(saleorder);
this.startShakeByPropertyAnim(mViewBinding.ivCart, 0.75f, 1f, 0.30f, 500L);
}
private void startShakeByPropertyAnim(View view, float scaleSmall, float scaleLarge, float shakeDegrees, long duration) {
if (view == null) {
return;
}
//先变小后变大
PropertyValuesHolder scaleXValuesHolder = PropertyValuesHolder.ofKeyframe(View.SCALE_X,
Keyframe.ofFloat(0f, 1.0f),
Keyframe.ofFloat(0.25f, scaleSmall),
Keyframe.ofFloat(0.5f, scaleLarge),
Keyframe.ofFloat(0.75f, scaleLarge),
Keyframe.ofFloat(1.0f, 1.0f)
);
PropertyValuesHolder scaleYValuesHolder = PropertyValuesHolder.ofKeyframe(View.SCALE_Y,
Keyframe.ofFloat(0f, 1.0f),
Keyframe.ofFloat(0.25f, scaleSmall),
Keyframe.ofFloat(0.5f, scaleLarge),
Keyframe.ofFloat(0.75f, scaleLarge),
Keyframe.ofFloat(1.0f, 1.0f)
);
//先往左再往右
PropertyValuesHolder rotateValuesHolder = PropertyValuesHolder.ofKeyframe(View.ROTATION,
Keyframe.ofFloat(0f, 0f),
Keyframe.ofFloat(0.1f, -shakeDegrees),
Keyframe.ofFloat(0.2f, shakeDegrees),
Keyframe.ofFloat(0.3f, -shakeDegrees),
Keyframe.ofFloat(0.4f, shakeDegrees),
Keyframe.ofFloat(0.5f, -shakeDegrees),
Keyframe.ofFloat(0.6f, shakeDegrees),
Keyframe.ofFloat(0.7f, -shakeDegrees),
Keyframe.ofFloat(0.8f, shakeDegrees),
Keyframe.ofFloat(0.9f, -shakeDegrees),
Keyframe.ofFloat(1.0f, 0f)
);
ObjectAnimator objectAnimator = ObjectAnimator.ofPropertyValuesHolder(view, scaleXValuesHolder, scaleYValuesHolder, rotateValuesHolder);
objectAnimator.setDuration(duration);
objectAnimator.start();
}
@Override
......@@ -121,7 +187,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public void showCartDialog(Saleorder saleorder, List<Saledetail> saledetails) {
mCartDialog.setSaleorder(saleorder).setSaledetails(saledetails).show(this);
}
}
@Override
public void showMsDialog(List<Ms> mss) {
......@@ -143,11 +209,20 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
if (!mSearchFragment.isAdded()) this.start(mSearchFragment);
}
@Override
public void showScanFragment() {
this.start(mScanFragment);
}
@Override
public void resetSearchBar() {
mViewBinding.etSearch.setText("");
mViewBinding.clTitle.requestFocus();
mViewBinding.clTitle.requestFocusFromTouch();
}
@Override
public void resetScanner() {
mScanFragment.resetScanner();
}
}
......@@ -102,10 +102,20 @@ interface StoreContract {
*/
void showSearchFragment();
/**
* 显示扫码页面
*/
void showScanFragment();
/**
* 重置搜索栏
*/
void resetSearchBar();
/**
* 重置扫描器
*/
void resetScanner();
}
abstract class Presenter extends BasePresenter<View> {
......@@ -137,9 +147,18 @@ interface StoreContract {
/**
* 商店页面 - 点击搜索
*
* @param keyword 关键字
*/
public abstract void searchSku(String keyword);
/**
* 扫描页面 - 扫描完成
*
* @param keyword 关键字
*/
public abstract void scanComplete(String keyword);
/**
* 搜索页面 - 加载更多搜索结果
*/
......
package com.xingdata.zzdpos.ui.store;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.db.DB;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.model.Ussku;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.util.StringUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -105,6 +110,11 @@ public class StorePresenter extends StoreContract.Presenter {
this.getSearchSku();
}
@Override
public void scanComplete(String keyword) {
this.getProductByBarcode(keyword);
}
@Override
public void loadMoreSearchResult() {
this.mSearchPageNum++;
......@@ -321,4 +331,34 @@ public class StorePresenter extends StoreContract.Presenter {
}
/**
* 根据条形码获取商品
*
* @param barcode 条形码
*/
private void getProductByBarcode(String barcode) {
mView.showLoadingDialog();
List<Sssku> ssskus = DBFactory.getList(DB.getInstance().get(MainPresenter.class).where
(Sssku.class)
.equalTo("spuBarcode", StringUtil.strToLong(barcode))
.equalTo("skuStatus", 0)
.findAll());
List<Ussku> usskus = DBFactory.getList(DB.getInstance().get(MainPresenter.class).where
(Ussku.class)
.equalTo("spuBarcode", StringUtil.strToLong(barcode))
.equalTo("skuStatus", 0)
.findAll());
if (ssskus.size() + usskus.size() > 1) {
mView.showSearchFragment();
this.searchSku(barcode);
} else if (ssskus.size() == 1 && usskus.size() == 0) {
this.clickAddSku(ssskus.get(0), 1);
} else if (ssskus.size() == 0 && usskus.size() == 1) {
this.clickAddSku(usskus.get(0), 1);
} else {
mView.resetScanner();
}
mView.dismissLoadingDialog();
}
}
package com.xingdata.zzdpos.ui.store.fragment;
import android.content.Context;
import android.os.Handler;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentStoreScanBinding;
import com.xingdata.zzdpos.ui.store.StorePresenter;
import me.dm7.barcodescanner.core.IViewFinder;
import me.dm7.barcodescanner.core.ViewFinderView;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class ScanFragment extends BaseFragment<StorePresenter, FragmentStoreScanBinding> {
private ZXingScannerView mScannerView;
private ZXingScannerView.ResultHandler mResultHandler;
@Override
public int getLayoutId() {
return R.layout.fragment_store_scan;
......@@ -14,6 +25,54 @@ public class ScanFragment extends BaseFragment<StorePresenter, FragmentStoreScan
@Override
public void initView() {
mScannerView = new ZXingScannerView(mContext) {
@Override
protected IViewFinder createViewFinderView(Context context) {
return new CustomViewFinderView(context);
}
};
mResultHandler = result -> {
mPresenter.scanComplete(result.getText());
resetScanner();
};
mScannerView.setResultHandler(mResultHandler);
mViewBinding.contentFrame.addView(mScannerView);
}
@Override
public void onResume() {
super.onResume();
mScannerView.startCamera();
}
@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera();
}
/**
* 重置扫描器
*/
public void resetScanner() {
new Handler().postDelayed(() -> mScannerView.resumeCameraPreview(mResultHandler), 500);
}
private static class CustomViewFinderView extends ViewFinderView {
public CustomViewFinderView(Context context) {
super(context);
int themeColor = getResources().getColor(R.color.blue_mawu);
this.setBorderColor(themeColor);
this.setBorderStrokeWidth(getResources().getDimensionPixelOffset(R.dimen.all_spacing));
this.setLaserColor(themeColor);
this.setLaserEnabled(true);
}
}
}
\ No newline at end of file
package com.xingdata.zzdpos.util;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Shader;
import com.squareup.picasso.Transformation;
/**
* Created by loften on 2017/7/26.
*/
public class CircleImageTransformation implements Transformation {
/**
* A unique key for the transformation, used for caching purposes.
*/
private static final String KEY = "circleImageTransformation";
@Override
public Bitmap transform(Bitmap source) {
int minEdge = Math.min(source.getWidth(), source.getHeight());
int dx = (source.getWidth() - minEdge) / 2;
int dy = (source.getHeight() - minEdge) / 2;
// Init shader
Shader shader = new BitmapShader(source, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Matrix matrix = new Matrix();
matrix.setTranslate(-dx, -dy); // Move the target area to center of the source bitmap
shader.setLocalMatrix(matrix);
// Init paint
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setShader(shader);
// Create and draw circle bitmap
Bitmap output = Bitmap.createBitmap(minEdge, minEdge, source.getConfig());
Canvas canvas = new Canvas(output);
canvas.drawOval(new RectF(0, 0, minEdge, minEdge), paint);
// Recycle the source bitmap, because we already generate a new one
source.recycle();
return output;
}
@Override
public String key() {
return KEY;
}
}
\ No newline at end of file
......@@ -85,7 +85,7 @@ public class RecyclerViewUtil {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.top = mDividerHight + 20;
outRect.top = mDividerHight;
}
@Override
......@@ -99,7 +99,7 @@ public class RecyclerViewUtil {
public void drawHorizontalDivider(Canvas c, RecyclerView parent) {
final int childCount = parent.getChildCount();
for (int i = 0; i < childCount - 1; i++) {
for (int i = 0; i < childCount; i++) {
final View child = parent.getChildAt(i);
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
......@@ -109,8 +109,8 @@ public class RecyclerViewUtil {
int bottom = 0;
top = child.getTop() - params.topMargin;
bottom = top + mDividerHight;
bottom = child.getTop() - params.topMargin;
top = bottom - mDividerHight;
//画分割线
mDividerDarwable.setBounds(left, top, right, bottom);
mDividerDarwable.draw(c);
......
package com.xingdata.zzdpos.util;
import android.content.Context;
import android.content.res.Resources;
import com.blankj.utilcode.util.AppUtils;
import com.blankj.utilcode.util.DeviceUtils;
import com.blankj.utilcode.util.ScreenUtils;
......@@ -55,7 +58,7 @@ public final class SystemUtil {
}
}
// return deviceSN;
return "548496116";
return "548496";
}
......@@ -77,4 +80,31 @@ public final class SystemUtil {
return ScreenUtils.isPortrait();
}
/**
*
*获取是否存在NavigationBar
*/
public static boolean checkDeviceHasNavigationBar(Context context) {
boolean hasNavigationBar = false;
Resources rs = context.getResources();
int id = rs.getIdentifier("config_showNavigationBar", "bool", "android");
if (id > 0) {
hasNavigationBar = rs.getBoolean(id);
}
try {
Class systemPropertiesClass = Class.forName("android.os.SystemProperties");
Method m = systemPropertiesClass.getMethod("get", String.class);
String navBarOverride = (String) m.invoke(systemPropertiesClass, "qemu.hw.mainkeys");
if ("1".equals(navBarOverride)) {
hasNavigationBar = false;
} else if ("0".equals(navBarOverride)) {
hasNavigationBar = true;
}
} catch (Exception e) {
}
return hasNavigationBar;
}
}
package com.xingdata.zzdpos.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
/**
* Created by Administrator on 2017/12/6.
*/
public class MyVideoView extends cn.jzvd.JZVideoPlayerStandard {
private ProgressBar progressBar;
private ImageView btnStart;
private ViewGroup bottomContainer;
public MyVideoView(Context context) {
super(context);
progressBar = super.bottomProgressBar;
btnStart = super.startButton;
bottomContainer = super.bottomContainer;
}
public MyVideoView(Context context, AttributeSet attrs) {
super(context, attrs);
progressBar = super.bottomProgressBar;
btnStart = super.startButton;
bottomContainer = super.bottomContainer;
}
@Override
public void onStatePlaying() {
super.onStatePlaying();
btnStart.setVisibility(GONE);
bottomContainer.setVisibility(GONE);
progressBar.setVisibility(VISIBLE);
}
@Override
public void onStateAutoComplete() {
progressBar.setProgress(0);
btnStart.setVisibility(GONE);
btnStart.performClick();
btnStart.performClick();
}
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10000dp" />
<corners android:radius="@dimen/all_shape_radius" />
<solid android:color="@color/gray_kongming" />
</shape>
\ No newline at end of file
......@@ -2,6 +2,6 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/settle_btn_radius" />
<solid android:color="@color/gray_huanggai" />
<solid android:color="@color/gray_kongming" />
</shape>
\ No newline at end of file
......@@ -70,14 +70,24 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<android.support.v7.widget.RecyclerView
android:id="@+id/fragment_casher_recycler"
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/white_caocao"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/guideline" />
app:layout_constraintTop_toTopOf="@id/guideline">
<android.support.v7.widget.RecyclerView
android:id="@+id/fragment_casher_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/all_padding"
android:layout_marginTop="@dimen/all_padding"
android:background="@color/white_caocao" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -61,7 +61,9 @@
android:id="@+id/recycler_inventory"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"></android.support.v7.widget.RecyclerView>
android:background="@color/gray_zhouyu">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
......
......@@ -32,37 +32,38 @@
android:background="@color/gray_huanggai"
app:layout_constraintTop_toBottomOf="@id/ic_title" />
<TextView
android:id="@+id/tv_title_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/singleline_zhouyu_huanggai"
android:paddingBottom="@dimen/all_padding"
android:paddingStart="@dimen/all_padding_left_right"
android:paddingTop="@dimen/all_padding"
android:text="@string/manage_inventory_add_title"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size_small_title"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@id/ic_title" />
<LinearLayout
<RelativeLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@id/fl_cart"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title_small">
app:layout_constraintTop_toBottomOf="@id/ic_title">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/tv_title_small"
android:layout_marginTop="@dimen/Minus_padding_left_right"
android:background="@color/gray_zhouyu">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
<TextView
android:id="@+id/tv_title_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/singleline_zhouyu_huanggai"
android:paddingBottom="@dimen/all_padding"
android:paddingStart="@dimen/all_padding_left_right"
android:paddingTop="@dimen/all_padding"
android:text="@string/manage_inventory_add_title"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size_small_title"
android:textStyle="bold" />
</RelativeLayout>
<FrameLayout
......
......@@ -123,25 +123,14 @@
<android.support.v7.widget.RecyclerView
android:id="@+id/fragment_myself_recycler"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/all_padding"
android:layout_marginTop="@dimen/all_padding"
android:background="@color/gray_zhouyu"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/guideline" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_kongming"
app:layout_constraintBottom_toBottomOf="@id/fragment_myself_recycler" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_kongming"
app:layout_constraintTop_toTopOf="@id/fragment_myself_recycler" />
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -10,14 +10,6 @@
android:background="@color/gray_zhouyu"
android:orientation="vertical">
<View
android:id="@+id/view_line"
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:layout_marginTop="@dimen/padding_small"
android:background="@color/gray_huanggai"
android:visibility="gone" />
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_product"
......
......@@ -49,26 +49,34 @@
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_huanggai" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/tab"
android:layout_marginTop="-1dp" />
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
app:tabMinWidth="150dp"
app:tabTextColor="@color/black_baozheng">
</android.support.design.widget.TabLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:layout_below="@id/tab"
android:background="@color/gray_huanggai" />
<android.support.v4.view.ViewPager
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
</LinearLayout>
......
......@@ -30,6 +30,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/ll_title"
android:background="@color/gray_zhouyu"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -2,12 +2,14 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
android:layout_height="match_parent" />
</android.support.constraint.ConstraintLayout>
</android.support.design.widget.CoordinatorLayout>
</layout>
\ No newline at end of file
......@@ -32,6 +32,7 @@
android:id="@+id/userSearch"
android:gravity="center"
android:text="搜索"
android:onClick="@{onClickListener}"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
......
......@@ -24,6 +24,29 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="0dp"
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_kongming"
app:layout_constraintEnd_toEndOf="@id/item_tv"
app:layout_constraintStart_toStartOf="@id/item_tv"
app:layout_constraintTop_toTopOf="@id/item_tv" />
<View
android:layout_width="0dp"
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_kongming"
app:layout_constraintBottom_toBottomOf="@id/item_tv"
app:layout_constraintEnd_toEndOf="@id/item_tv"
app:layout_constraintStart_toStartOf="@id/item_tv" />
<View
android:layout_width="0dp"
android:layout_height="@dimen/all_padding"
android:background="@color/gray_zhouyu"
app:layout_constraintTop_toBottomOf="@id/item_tv"
app:layout_constraintEnd_toEndOf="@id/item_tv"
app:layout_constraintStart_toStartOf="@id/item_tv" />
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -32,7 +32,7 @@
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@color/black_baozheng"
android:textSize="@{selected?@dimen/all_sub_title_size:@dimen/all_text_size}" />
android:textSize="@dimen/all_text_size" />
</FrameLayout>
......
......@@ -413,8 +413,9 @@
<item name="android:drawablePadding">@dimen/all_spacing</item>
<item name="android:paddingStart">@dimen/all_padding</item>
<item name="android:maxLines">1</item>
<item name="android:layout_height">30dp</item>
<item name="android:maxLength">20</item>
<item name="android:background">@drawable/shape_gray_r1</item>
<item name="android:background">@drawable/shape_gray_r2</item>
<item name="android:imeOptions">actionSearch</item>
</style>
......@@ -422,7 +423,7 @@
<item name="android:drawablePadding">@dimen/all_spacing</item>
<item name="android:maxLines">1</item>
<item name="android:maxLength">20</item>
<item name="android:background">@drawable/shape_gray_r1</item>
<item name="android:background">@drawable/shape_gray_r2</item>
<item name="android:padding">@dimen/all_spacing</item>
<item name="android:imeOptions">actionSearch</item>
</style>
......
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
......@@ -10,10 +7,6 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath "io.realm:realm-gradle-plugin:4.0.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
......
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