Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TangKuPos
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王海
TangKuPos
Commits
5177bca5
Commit
5177bca5
authored
Jan 15, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加扫码相关;
parent
03a0c2a0
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
133 additions
and
7 deletions
+133
-7
app/build.gradle
app/build.gradle
+1
-0
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
...main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
+9
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
...main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
+5
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/ScanFragment.java
...a/com/xingdata/zzdpos/ui/store/fragment/ScanFragment.java
+103
-1
app/src/main/res/layout/fragment_scanner.xml
app/src/main/res/layout/fragment_scanner.xml
+10
-0
app/src/main/res/layout/fragment_store_scan.xml
app/src/main/res/layout/fragment_store_scan.xml
+3
-5
No files found.
app/build.gradle
View file @
5177bca5
...
@@ -81,5 +81,6 @@ dependencies {
...
@@ -81,5 +81,6 @@ dependencies {
compile
'com.github.ybq:Android-SpinKit:1.1.0'
compile
'com.github.ybq:Android-SpinKit:1.1.0'
compile
'com.youth.banner:banner:1.4.10'
compile
'com.youth.banner:banner:1.4.10'
compile
'cn.jzvd:jiaozivideoplayer:6.0.0'
compile
'cn.jzvd:jiaozivideoplayer:6.0.0'
compile
'me.dm7.barcodescanner:zxing:1.9.8'
compile
(
name:
'zx_print_library-debug'
,
ext:
'aar'
)
compile
(
name:
'zx_print_library-debug'
,
ext:
'aar'
)
}
}
app/src/main/AndroidManifest.xml
View file @
5177bca5
...
@@ -6,6 +6,8 @@
...
@@ -6,6 +6,8 @@
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.SEND_SMS"
/>
<uses-permission
android:name=
"android.permission.SEND_SMS"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<application
<application
android:name=
".App"
android:name=
".App"
android:allowBackup=
"true"
android:allowBackup=
"true"
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
View file @
5177bca5
...
@@ -64,6 +64,9 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
...
@@ -64,6 +64,9 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding
.
etSearch
.
setOnFocusChangeListener
((
view
,
b
)
->
{
mViewBinding
.
etSearch
.
setOnFocusChangeListener
((
view
,
b
)
->
{
mPresenter
.
searchBarFocusChanged
(
b
);
mPresenter
.
searchBarFocusChanged
(
b
);
});
});
mViewBinding
.
btnScan
.
setOnClickListener
(
view
->
{
this
.
showScanFragment
();
});
}
}
@Override
@Override
...
@@ -121,7 +124,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
...
@@ -121,7 +124,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
@Override
public
void
showCartDialog
(
Saleorder
saleorder
,
List
<
Saledetail
>
saledetails
)
{
public
void
showCartDialog
(
Saleorder
saleorder
,
List
<
Saledetail
>
saledetails
)
{
mCartDialog
.
setSaleorder
(
saleorder
).
setSaledetails
(
saledetails
).
show
(
this
);
mCartDialog
.
setSaleorder
(
saleorder
).
setSaledetails
(
saledetails
).
show
(
this
);
}
}
@Override
@Override
public
void
showMsDialog
(
List
<
Ms
>
mss
)
{
public
void
showMsDialog
(
List
<
Ms
>
mss
)
{
...
@@ -143,6 +146,11 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
...
@@ -143,6 +146,11 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
if
(!
mSearchFragment
.
isAdded
())
this
.
start
(
mSearchFragment
);
if
(!
mSearchFragment
.
isAdded
())
this
.
start
(
mSearchFragment
);
}
}
@Override
public
void
showScanFragment
()
{
this
.
start
(
mScanFragment
);
}
@Override
@Override
public
void
resetSearchBar
()
{
public
void
resetSearchBar
()
{
mViewBinding
.
etSearch
.
setText
(
""
);
mViewBinding
.
etSearch
.
setText
(
""
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
View file @
5177bca5
...
@@ -102,6 +102,11 @@ interface StoreContract {
...
@@ -102,6 +102,11 @@ interface StoreContract {
*/
*/
void
showSearchFragment
();
void
showSearchFragment
();
/**
* 显示扫码页面
*/
void
showScanFragment
();
/**
/**
* 重置搜索栏
* 重置搜索栏
*/
*/
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/ScanFragment.java
View file @
5177bca5
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
fragment
;
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
fragment
;
import
android.content.Context
;
import
android.graphics.Canvas
;
import
android.graphics.Color
;
import
android.graphics.Paint
;
import
android.graphics.Rect
;
import
android.os.Handler
;
import
android.util.AttributeSet
;
import
android.util.TypedValue
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.google.zxing.Result
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentStoreScanBinding
;
import
com.xingdata.zzdpos.databinding.FragmentStoreScanBinding
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
public
class
ScanFragment
extends
BaseFragment
<
StorePresenter
,
FragmentStoreScanBinding
>
{
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
>
implements
ZXingScannerView
.
ResultHandler
{
private
ZXingScannerView
mScannerView
;
@Override
@Override
public
int
getLayoutId
()
{
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_store_scan
;
return
R
.
layout
.
fragment_store_scan
;
...
@@ -14,6 +32,90 @@ public class ScanFragment extends BaseFragment<StorePresenter, FragmentStoreScan
...
@@ -14,6 +32,90 @@ public class ScanFragment extends BaseFragment<StorePresenter, FragmentStoreScan
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
mScannerView
=
new
ZXingScannerView
(
mContext
)
{
@Override
protected
IViewFinder
createViewFinderView
(
Context
context
)
{
return
new
CustomViewFinderView
(
context
);
}
};
mViewBinding
.
contentFrame
.
addView
(
mScannerView
);
}
@Override
public
void
handleResult
(
Result
result
)
{
ToastUtils
.
showShort
(
"Contents = "
+
result
.
getText
()
+
", Format = "
+
result
.
getBarcodeFormat
().
toString
());
// Note:
// * Wait 2 seconds to resume the preview.
// * On older devices continuously stopping and resuming camera preview can result in freezing the app.
// * I don't know why this is the case but I don't have the time to figure out.
Handler
handler
=
new
Handler
();
handler
.
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
mScannerView
.
resumeCameraPreview
(
ScanFragment
.
this
);
}
},
2000
);
}
@Override
public
void
onResume
()
{
super
.
onResume
();
mScannerView
.
setResultHandler
(
this
);
mScannerView
.
startCamera
();
}
@Override
public
void
onPause
()
{
super
.
onPause
();
mScannerView
.
stopCamera
();
}
private
static
class
CustomViewFinderView
extends
ViewFinderView
{
public
static
final
String
TRADE_MARK_TEXT
=
"ZXing"
;
public
static
final
int
TRADE_MARK_TEXT_SIZE_SP
=
40
;
public
final
Paint
PAINT
=
new
Paint
();
public
CustomViewFinderView
(
Context
context
)
{
super
(
context
);
init
();
}
public
CustomViewFinderView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
init
();
}
private
void
init
()
{
PAINT
.
setColor
(
Color
.
WHITE
);
PAINT
.
setAntiAlias
(
true
);
float
textPixelSize
=
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_SP
,
TRADE_MARK_TEXT_SIZE_SP
,
getResources
().
getDisplayMetrics
());
PAINT
.
setTextSize
(
textPixelSize
);
setSquareViewFinder
(
true
);
}
@Override
public
void
onDraw
(
Canvas
canvas
)
{
super
.
onDraw
(
canvas
);
drawTradeMark
(
canvas
);
}
private
void
drawTradeMark
(
Canvas
canvas
)
{
Rect
framingRect
=
getFramingRect
();
float
tradeMarkTop
;
float
tradeMarkLeft
;
if
(
framingRect
!=
null
)
{
tradeMarkTop
=
framingRect
.
bottom
+
PAINT
.
getTextSize
()
+
10
;
tradeMarkLeft
=
framingRect
.
left
;
}
else
{
tradeMarkTop
=
10
;
tradeMarkLeft
=
canvas
.
getHeight
()
-
PAINT
.
getTextSize
()
-
10
;
}
canvas
.
drawText
(
TRADE_MARK_TEXT
,
tradeMarkLeft
,
tradeMarkTop
,
PAINT
);
}
}
}
}
}
app/src/main/res/layout/fragment_scanner.xml
0 → 100644
View file @
5177bca5
<?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
app/src/main/res/layout/fragment_store_scan.xml
View file @
5177bca5
...
@@ -3,11 +3,9 @@
...
@@ -3,11 +3,9 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<android.support.design.widget.CoordinatorLayout
<FrameLayout
android:id=
"@+id/content_frame"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
/>
android:background=
"@color/gray_zhouyu"
android:orientation=
"vertical"
>
</android.support.design.widget.CoordinatorLayout>
</layout>
</layout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment