Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
Widget
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
Android Widget
Widget
Commits
a1c093aa
Commit
a1c093aa
authored
Jan 26, 2021
by
王雷
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复键盘绘制bug
parent
75c7f009
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
8 deletions
+33
-8
build.gradle
KeyBoardView/build.gradle
+1
-1
MoneyNumberKeyBoardKeyBoard.kt
.../com/qmai/android/keyboard/MoneyNumberKeyBoardKeyBoard.kt
+14
-5
build.gradle
tools/build.gradle
+1
-1
TimeFormat.kt
tools/src/main/java/com/qimai/android/tools/TimeFormat.kt
+1
-1
ViewExtension.kt
tools/src/main/java/com/qimai/android/tools/ViewExtension.kt
+16
-0
No files found.
KeyBoardView/build.gradle
View file @
a1c093aa
...
@@ -37,7 +37,7 @@ repositories {
...
@@ -37,7 +37,7 @@ repositories {
}
}
group
'com.qmai.android.widget'
group
'com.qmai.android.widget'
version
'1.1.3
5
-SNAPSHOT'
version
'1.1.3
9
-SNAPSHOT'
gradlePublish
{
gradlePublish
{
...
...
KeyBoardView/src/main/java/com/qmai/android/keyboard/MoneyNumberKeyBoardKeyBoard.kt
View file @
a1c093aa
...
@@ -7,6 +7,7 @@ import android.graphics.Paint
...
@@ -7,6 +7,7 @@ import android.graphics.Paint
import
android.inputmethodservice.Keyboard
import
android.inputmethodservice.Keyboard
import
android.inputmethodservice.KeyboardView
import
android.inputmethodservice.KeyboardView
import
android.util.AttributeSet
import
android.util.AttributeSet
import
android.util.Log
import
android.util.TypedValue
import
android.util.TypedValue
import
android.widget.EditText
import
android.widget.EditText
import
com.qmai.android.keyboardview.R
import
com.qmai.android.keyboardview.R
...
@@ -17,11 +18,12 @@ import com.qmai.android.keyboardview.R
...
@@ -17,11 +18,12 @@ import com.qmai.android.keyboardview.R
**/
**/
@Suppress
(
"DEPRECATION"
)
@Suppress
(
"DEPRECATION"
)
class
MoneyNumberKeyBoardKeyBoard
:
KeyboardView
{
class
MoneyNumberKeyBoardKeyBoard
:
KeyboardView
{
private
lateinit
var
keys
:
List
<
Keyboard
.
Key
>
private
var
editWidget
:
EditText
?
=
null
private
var
editWidget
:
EditText
?
=
null
private
lateinit
var
mtextPaint
:
Paint
private
lateinit
var
mtextPaint
:
Paint
public
var
btnText
=
"结账"
public
var
btnText
=
"结账"
//获取drawable资源
val
drawable
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
savestock
)
private
var
defaultActionListener
:
DefaultKeyBoardActionListener
?
=
private
var
defaultActionListener
:
DefaultKeyBoardActionListener
?
=
DefaultKeyBoardActionListener
()
DefaultKeyBoardActionListener
()
...
@@ -56,13 +58,15 @@ class MoneyNumberKeyBoardKeyBoard : KeyboardView {
...
@@ -56,13 +58,15 @@ class MoneyNumberKeyBoardKeyBoard : KeyboardView {
override
fun
onDraw
(
canvas
:
Canvas
?)
{
override
fun
onDraw
(
canvas
:
Canvas
?)
{
super
.
onDraw
(
canvas
)
super
.
onDraw
(
canvas
)
if
(!
::
keys
.
isInitialized
){
keys
=
getKeyboard
().
keys
}
canvas
?.
let
{
c
->
canvas
?.
let
{
c
->
val
keys
:
List
<
Keyboard
.
Key
>
=
keyboard
.
keys
val
keys
:
List
<
Keyboard
.
Key
>
=
keyboard
.
keys
keys
.
forEach
{
key
->
keys
.
forEach
{
key
->
if
(
key
.
codes
[
0
]
==
-
11
)
{
if
(
key
.
codes
[
0
]
==
-
11
)
{
//获取drawable资源
val
drawable
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
savestock
)
//把真正的状态设置给上层绘制的key键
//把真正的状态设置给上层绘制的key键
drawable
.
state
=
key
.
currentDrawableState
drawable
.
state
=
key
.
currentDrawableState
//rawable将在被绘制在canvas的哪个矩形区域内(这个矩形区域的坐标是以canvas左上角为坐标原点的)
//rawable将在被绘制在canvas的哪个矩形区域内(这个矩形区域的坐标是以canvas左上角为坐标原点的)
...
@@ -187,7 +191,7 @@ class MoneyNumberKeyBoardKeyBoard : KeyboardView {
...
@@ -187,7 +191,7 @@ class MoneyNumberKeyBoardKeyBoard : KeyboardView {
mtextPaint
.
textAlign
=
Paint
.
Align
.
CENTER
mtextPaint
.
textAlign
=
Paint
.
Align
.
CENTER
mtextPaint
.
textSize
=
sp2px
(
20f
)
mtextPaint
.
textSize
=
sp2px
(
20f
)
mtextPaint
.
color
=
Color
.
parseColor
(
"#333333"
)
mtextPaint
.
color
=
Color
.
parseColor
(
"#333333"
)
keys
=
getKeyboard
().
keys
}
}
private
fun
sp2px
(
spValue
:
Float
):
Float
{
private
fun
sp2px
(
spValue
:
Float
):
Float
{
...
@@ -198,4 +202,9 @@ class MoneyNumberKeyBoardKeyBoard : KeyboardView {
...
@@ -198,4 +202,9 @@ class MoneyNumberKeyBoardKeyBoard : KeyboardView {
)
)
}
}
override
fun
onDetachedFromWindow
()
{
super
.
onDetachedFromWindow
()
mHandler
Log
.
d
(
"TAG"
,
"onDetachedFromWindow: "
)
}
}
}
\ No newline at end of file
tools/build.gradle
View file @
a1c093aa
...
@@ -42,7 +42,7 @@ repositories {
...
@@ -42,7 +42,7 @@ repositories {
group
'com.qmai.android.tools'
group
'com.qmai.android.tools'
version
'1.1.
9
-SNAPSHOT'
version
'1.1.
11
-SNAPSHOT'
gradlePublish
{
gradlePublish
{
...
...
tools/src/main/java/com/qimai/android/tools/TimeFormat.kt
View file @
a1c093aa
...
@@ -13,7 +13,7 @@ import java.util.*
...
@@ -13,7 +13,7 @@ import java.util.*
fun
formatCurrentDate
(
pattern
:
String
)
=
getTimeFormatStr
(
pattern
)
fun
formatCurrentDate
(
pattern
:
String
)
=
getTimeFormatStr
(
pattern
)
private
fun
getTimeFormatStr
(
pattern
:
String
,
original
:
Any
=
Date
())
=
fun
getTimeFormatStr
(
pattern
:
String
,
original
:
Any
=
Date
())
=
SimpleDateFormat
(
pattern
,
Locale
.
getDefault
()).
format
(
original
)
SimpleDateFormat
(
pattern
,
Locale
.
getDefault
()).
format
(
original
)
?:
""
?:
""
...
...
tools/src/main/java/com/qimai/android/tools/ViewExtension.kt
0 → 100644
View file @
a1c093aa
package
com.qimai.android.tools
import
android.graphics.Color
import
android.graphics.drawable.GradientDrawable
import
android.view.View
/**
* 设置背景
*/
fun
View
.
setRoundRectBg
(
color
:
Int
=
Color
.
WHITE
,
cornerRadius
:
Float
=
15f
.
dp
)
{
background
=
GradientDrawable
().
apply
{
setColor
(
color
)
setCornerRadius
(
cornerRadius
)
}
}
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