Commit 5bd4bd46 authored by zhang_z's avatar zhang_z

搜索框调整;

添加so库;
parent f814ba6f
......@@ -10,6 +10,7 @@
<w>huanggai</w>
<w>huangxin</w>
<w>inputer</w>
<w>jsonpay</w>
<w>kongming</w>
<w>kongrong</w>
<w>kongrun</w>
......
......@@ -3,8 +3,6 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/TangKuPos.iml" filepath="$PROJECT_DIR$/TangKuPos.iml" />
<module fileurl="file://D:\Work\Android\AndroidProject\XingData\TangKuPos\.idea\TangKuPos.iml" filepath="D:\Work\Android\AndroidProject\XingData\TangKuPos\.idea\TangKuPos.iml" />
<module fileurl="file://C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos\TangKuPos.iml" filepath="C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos\TangKuPos.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
</modules>
</component>
......
......@@ -11,6 +11,9 @@ android {
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
ndk{
abiFilters("armeabi", "armeabi-v7a")
}
}
//解决问题的代码
dexOptions {
......@@ -41,7 +44,12 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } }
sourceSets {
main {
assets.srcDirs = ['src/main/assets', 'src/main/assets/']
jniLibs.srcDirs = ['libs']
}
}
}
repositories {
flatDir {
......
package com.xingdata.zzdpos.jni;
public class Pay {
static {
System.loadLibrary("jsonpay");
}
public static native String allpay(String inStr);
}
......@@ -48,7 +48,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
@Override
public void initView() {
this.showTitleBarByTitleMode(C.TITLE_MODE.SKU);
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
this.loadRootFragment(R.id.f_sssku, mManagerFragment);
mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport());
......@@ -59,7 +59,6 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
}
return false;
});
mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> mPresenter.searchBarFocusChanged(b, C.TITLE_MODE.SKU));
mViewBinding.btnMenu.setOnClickListener(view -> mPresenter.clickSkuMenu());
}
......@@ -206,7 +205,8 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
@Override
public void backToManagerFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.SKU);
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.sssku_title);
this.resetSearchBar();
this.pop();
}
......
......@@ -522,6 +522,7 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd
mSssku.setCreateTime(null);
mSssku.setUpdateTime(null);
mSssku.setSkuId(null);
}
@Override
......
......@@ -32,6 +32,8 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
@Override
public void initView() {
mViewBinding.setTotalCount(0);
// init sku
mSkuAdapter = new SkuAdapter();
mViewBinding.rlSku.setAdapter(mSkuAdapter);
......@@ -54,6 +56,7 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
mViewBinding.llSsskuAdd.setOnClickListener(view -> mPresenter.clickAddSku());
mViewBinding.tvReplenish.setOnClickListener(view -> mPresenter.clickReplenish());
mViewBinding.llSkugrpAdd.setOnClickListener(view -> mPresenter.clickAddSkugrp());
mViewBinding.tvSearch.setOnClickListener(view -> mPresenter.searchBarFocusChanged(true, C.TITLE_MODE.SKU));
// set empty
@SuppressLint("InflateParams") View view = getLayoutInflater().inflate(R.layout.view_empty, null);
......@@ -126,7 +129,7 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
* @param count 商品总数
*/
public void loadSsskuCount(int count) {
mViewBinding.tvTotalCount.setText(String.valueOf(count));
mViewBinding.setTotalCount(count);
}
/**
......@@ -137,6 +140,7 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
public void addSku(Sssku sssku) {
mSkuAdapter.setEnableLoadMore(false);
mViewBinding.rlSku.scrollToPosition(0);
mViewBinding.setTotalCount(mViewBinding.getTotalCount() + 1);
mSkuAdapter.addData(0, sssku);
}
......
......@@ -3,7 +3,6 @@ package com.xingdata.zzdpos.ui.scan;
import android.content.Context;
import android.os.Handler;
import com.google.zxing.Result;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BasePresenter;
......@@ -53,13 +52,6 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
resetScanner();
};
mResultHandler = new ZXingScannerView.ResultHandler() {
@Override
public void handleResult(Result result) {
}
};
mScannerView.setResultHandler(mResultHandler);
mViewBinding.contentFrame.addView(mScannerView);
}
......@@ -90,7 +82,7 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
int themeColor = getResources().getColor(R.color.blue_mawu);
this.setBorderColor(themeColor);
this.setBorderStrokeWidth(getResources().getDimensionPixelOffset(R.dimen.all_radius));
this.setBorderStrokeWidth(getResources().getDimensionPixelOffset(R.dimen.all_shape_radius));
this.setLaserColor(themeColor);
this.setLaserEnabled(true);
......
......@@ -16,6 +16,7 @@ import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.main.MainActivity;
import com.xingdata.zzdpos.ui.scan.ScanFragment;
import com.xingdata.zzdpos.ui.settle.fragment.CashPayFragment;
import com.xingdata.zzdpos.ui.settle.dialog.PasswordDialog;
import com.xingdata.zzdpos.ui.settle.fragment.PayResultFragment;
......@@ -131,6 +132,12 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
case C.PAY_CHANNEL.CARD:
mPasswordDialog.setSaleorder(saleorder).show(this);
break;
case C.PAY_CHANNEL.ALI:
case C.PAY_CHANNEL.WECHAT:
ScanFragment mScanFragment = new ScanFragment();
mScanFragment.setOnScanCompletedListener(barcode -> mPresenter.payInAli(barcode));
this.start(mScanFragment);
break;
}
}
......
......@@ -6,6 +6,7 @@ import com.xingdata.api.print.ZX_PrintPOS;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.jni.Pay;
import com.xingdata.zzdpos.model.HandoverInfo;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Saledetail;
......@@ -222,6 +223,7 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void payInAli(String payCode) {
Pay.allpay("payCode = " + payCode);
}
@Override
......@@ -375,6 +377,7 @@ public class SettlePresenter extends SettleContract.Presenter {
* 统计订单信息
*/
private void reprice() {
mSaleorder.settle();
mView.loadSaleorder(mSaleorder);
}
......
......@@ -64,12 +64,12 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
}
return false;
});
mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> mPresenter.searchBarFocusChanged(b));
mViewBinding.btnScan.setOnClickListener(view -> PermissionUtils.permission(PermissionConstants.CAMERA)
.callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
showScanFragment();
mPresenter.clickScan();
}
@Override
......@@ -156,18 +156,23 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public void showSearchFragment() {
if (!mSearchFragment.isAdded()) this.start(mSearchFragment);
if (!mSearchFragment.isAdded()) {
mViewBinding.setTitleMode(C.TITLE_MODE.SKU);
mViewBinding.etSearch.setText("");
mViewBinding.etSearch.requestFocus();
this.start(mSearchFragment);
}
}
@Override
public void showScanFragment() {
this.start(mScanFragment);
if (!mScanFragment.isAdded()) this.start(mScanFragment);
}
@Override
public void resetSearchBar() {
mViewBinding.etSearch.setText("");
mViewBinding.clTitle.requestFocus();
mViewBinding.setTitleMode(C.TITLE_MODE.TEXT);
}
@Override
......
......@@ -152,6 +152,11 @@ interface StoreContract {
*/
public abstract void searchSku(String keyword);
/**
* 商店页面 - 点击扫描按钮
*/
public abstract void clickScan();
/**
* 扫描页面 - 扫描完成
*
......
......@@ -110,6 +110,11 @@ public class StorePresenter extends StoreContract.Presenter {
this.getSearchSku();
}
@Override
public void clickScan() {
mView.showScanFragment();
}
@Override
public void scanComplete(String keyword) {
this.getProductByBarcode(keyword);
......
package com.xingdata.zzdpos.ui.store.fragment;
import android.animation.Animator;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.graphics.Path;
import android.graphics.PathMeasure;
import android.support.constraint.ConstraintLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.ImageView;
import com.blankj.utilcode.util.ScreenUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
......@@ -36,7 +44,7 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
// set sku listener
mSkuAdapter.setOnLoadMoreListener(this::loadMoreSku, mViewBinding.rlSku);
mSkuAdapter.setOnCountChangeListener((view, sku, value) -> {
if (value > 0) mPresenter.clickAddSku(sku, value);
if (value > 0) this.clickAdd(view, sku, value);
else mPresenter.clickRemoveSku(sku, value);
});
......@@ -98,4 +106,98 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
public void setSaledetails(List<Saledetail> saledetails) {
this.mSaledetails = saledetails;
}
/**
* 点击添加按钮
*
* @param view 按钮
* @param sku 商品信息
* @param value 数量
*/
private void clickAdd(View view, BaseSku sku, int value) {
// 路径测量
PathMeasure mPathMeasure;
// 贝塞尔曲线中间过程点坐标
float[] mCurrentPosition = new float[2];
final ImageView icon = new ImageView(mContext);
icon.setImageDrawable(((ImageView) view).getDrawable());
ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(view.getWidth(), view.getHeight());
mViewBinding.clStore.addView(icon, params);
int[] parentLocation = new int[2];
mViewBinding.clStore.getLocationInWindow(parentLocation);
int startLoc[] = new int[2];
view.getLocationInWindow(startLoc);
// 得到购物车图片的坐标(用于计算动画结束后的坐标)
int endLoc[] = new int[]{0, ScreenUtils.getScreenHeight()};
float startX = startLoc[0] - parentLocation[0];
float startY = startLoc[1] - parentLocation[1];
// 商品掉落后的终点坐标:购物车起始点-父布局起始点+购物车图片的1/5
float toX = endLoc[0] - parentLocation[0];
float toY = endLoc[1] - parentLocation[1];
// 开始绘制贝塞尔曲线
Path path = new Path();
// 移动到起始点(贝塞尔曲线的起点)
path.moveTo(startX, startY);
// 使用二阶贝塞尔曲线:注意第一个起始坐标越大,贝塞尔曲线的横向距离就会越大,一般按照下面的式子取即可
path.quadTo((startX + toX) / 2, startY, toX, toY);
// mPathMeasure用来计算贝塞尔曲线的曲线长度和贝塞尔曲线中间插值的坐标,如果是true,path会形成一个闭环
mPathMeasure = new PathMeasure(path, false);
// 属性动画实现(从0到贝塞尔曲线的长度之间进行插值计算,获取中间过程的距离值)
ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, mPathMeasure.getLength());
valueAnimator.setDuration(300);
// 匀速线性插值器
valueAnimator.setInterpolator(new LinearInterpolator());
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
// 当插值计算进行时,获取中间的每个值,
// 这里这个值是中间过程中的曲线长度(下面根据这个值来得出中间点的坐标值)
float value = (Float) animation.getAnimatedValue();
// 获取当前点坐标封装到mCurrentPosition
// boolean getPosTan(float distance, float[] pos, float[] tan) :
// 传入一个距离distance(0<=distance<=getLength()),然后会计算当前距离的坐标点和切线,pos会自动填充上坐标,这个方法很重要。
// mCurrentPosition此时就是中间距离点的坐标值
mPathMeasure.getPosTan(value, mCurrentPosition, null);
// 移动的商品图片(动画图片)的坐标设置为该中间点的坐标
icon.setTranslationX(mCurrentPosition[0]);
icon.setTranslationY(mCurrentPosition[1]);
}
});
// 开始执行动画
valueAnimator.start();
// 动画结束后的处理
valueAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
// 执行添加方法
mPresenter.clickAddSku(sku, value);
// 把执行动画的商品图片从父布局中移除
mViewBinding.clStore.removeView(icon);
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
}
}
......@@ -70,6 +70,7 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
// set other listener
mViewBinding.llMs.setOnClickListener(view -> mPresenter.clickMs());
mViewBinding.tvSearch.setOnClickListener(view -> mPresenter.searchBarFocusChanged(true));
// set empty
@SuppressLint("InflateParams") View view = getLayoutInflater().inflate(R.layout.view_empty, null);
......
......@@ -22,7 +22,9 @@
name="msDisAmt"
type="long" />
<variable
name="titleMode"
type="int" />
</data>
<android.support.constraint.ConstraintLayout
......@@ -73,7 +75,8 @@
android:labelFor="@+id/et_search"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
android:textSize="@dimen/all_text_size"
android:visibility="@{titleMode>1?View.VISIBLE:View.INVISIBLE}" />
<ImageButton
android:id="@+id/btn_scan"
......@@ -83,9 +86,20 @@
android:contentDescription="@string/store_scan"
android:foreground="?android:attr/actionBarItemBackground"
android:src="@mipmap/but_sweep_yard" />
</LinearLayout>
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/store_title"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size"
android:visibility="@{titleMode>1?View.GONE:View.VISIBLE}"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
......
......@@ -233,7 +233,6 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
......@@ -280,7 +279,6 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
......@@ -323,7 +321,6 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
......@@ -340,7 +337,6 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
......@@ -436,7 +432,6 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
......@@ -478,7 +473,6 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="totalCount"
type="Integer" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white_caocao"
android:gravity="center"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin">
<TextView
android:id="@+id/tv_search"
style="@style/searchBarEditor"
android:layout_width="match_parent"
android:layout_height="30dp"
android:gravity="center_vertical"
android:text="@string/store_search_hint"
android:textColor="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="top"
android:background="@color/gray_kongming" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -35,6 +68,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_spacing"
android:layout_marginStart="@dimen/all_spacing"
android:text='@{totalCount+""}'
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_title_size" />
......@@ -69,7 +103,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_spacing"
android:text="6"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/all_title_size" />
</LinearLayout>
......
......@@ -18,6 +18,26 @@
android:background="@color/gray_zhouyu"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white_caocao"
android:gravity="center"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin">
<TextView
android:id="@+id/tv_search"
style="@style/searchBarEditor"
android:layout_width="match_parent"
android:layout_height="30dp"
android:gravity="center_vertical"
android:text="@string/store_search_hint"
android:textColor="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<FrameLayout
android:id="@+id/ll_ms"
android:layout_width="match_parent"
......@@ -26,6 +46,12 @@
android:orientation="vertical"
android:visibility="@{msCount>0 ?View.VISIBLE:View.GONE}">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="top"
android:background="@color/gray_kongming" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -68,13 +94,13 @@
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai" />
<View
android:layout_width="match_parent"
......
......@@ -2,15 +2,15 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_store"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
android:background="@color/gray_zhouyu">
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_sku"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -184,7 +184,7 @@
<string name="settle_pay_change_text">¥%s</string>
<!--商品页面 <WHERE>_<DESCRIPTION>-->
<string name="store_title">商品页面</string>
<string name="store_title">开单</string>
<string name="store_price_unit"></string>
<string name="store_group">商品分组 </string>
<string name="store_sssku">标准商品 </string>
......@@ -691,34 +691,34 @@
<string name="manage_inventory_add_end">盘库结束</string>
<!--商品维护-->
<string name="sku_check"></string>
<string name="sku_check"></string>
<string name="sku_size">规格/</string>
<string name="skugrp_add_hint">请输入分组名称</string>
<string name="sku_subtitle_info">基本信息</string>
<string name="sku_barcode">条码</string>
<string name="sku_name">名称</string>
<string name="sku_skugrp">分组</string>
<string name="sku_type">类别</string>
<string name="sku_unit">单位</string>
<string name="sku_barcode">条码:</string>
<string name="sku_name">名称:</string>
<string name="sku_skugrp">分组:</string>
<string name="sku_type">类别:</string>
<string name="sku_unit">单位:</string>
<string name="sku_subtitle_price">调整价格</string>
<string name="sku_price1">售价</string>
<string name="sku_price2">促销价</string>
<string name="sku_price1">售价:</string>
<string name="sku_price2">促销价:</string>
<string name="sku_subtitle_vip">会员信息</string>
<string name="sku_vip_dis">会员折扣</string>
<string name="sku_point1">消费每满</string>
<string name="sku_point2">元等于1积分</string>
<string name="sku_subtitle_pack">包装关系</string>
<string name="sku_pack">能否拆解</string>
<string name="sku_pack">能否拆解:</string>
<string name="sku_subtitle_supplier">供货方</string>
<string name="sku_supplier">供货商方</string>
<string name="sku_cost_on">按此包装进货</string>
<string name="sku_cost">进价</string>
<string name="sku_stock_low_limit">库存下限</string>
<string name="sku_stock_upper_limit">库存上限</string>
<string name="sku_min_oder">最小订货</string>
<string name="sku_supplier">供货商方:</string>
<string name="sku_cost_on">按此包装进货:</string>
<string name="sku_cost">进价:</string>
<string name="sku_stock_low_limit">库存下限:</string>
<string name="sku_stock_upper_limit">库存上限:</string>
<string name="sku_min_oder">最小订货:</string>
<string name="sku_update">编辑商品</string>
<string name="sku_update_price">调整价格</string>
......
......@@ -415,7 +415,7 @@
<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_r2</item>
<item name="android:background">@drawable/shape_gray_r1</item>
<item name="android:imeOptions">actionSearch</item>
</style>
......
......@@ -10,6 +10,7 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
android.useDeprecatedNdk = true
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
......
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