Skip to content

Commit bb03eb5

Browse files
committed
拍照增加自动对焦
1 parent fb8b541 commit bb03eb5

File tree

23 files changed

+1103
-44
lines changed

23 files changed

+1103
-44
lines changed
0 Bytes
Binary file not shown.

.idea/codeStyles/Project.xml

Lines changed: 112 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 6 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ android {
88
compileSdkVersion 28
99
defaultConfig {
1010
applicationId "com.qlh.customviewinstruction"
11-
minSdkVersion 15
11+
minSdkVersion 21
1212
targetSdkVersion 28
1313
versionCode 1
1414
versionName "1.0"

app/src/main/java/com/qlh/customviewinstruction/MainActivity.kt

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@ package com.qlh.customviewinstruction
22

33
import android.Manifest
44
import android.graphics.Bitmap
5+
import android.graphics.drawable.Animatable
6+
import android.graphics.drawable.Drawable
57
import android.os.Bundle
68
import android.util.Log
79
import android.widget.Toast
810
import androidx.lifecycle.ViewModelProviders
911
import androidx.recyclerview.widget.LinearLayoutManager
12+
import androidx.vectordrawable.graphics.drawable.Animatable2Compat
13+
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat
1014
import com.qlh.customviewinstruction.adpater.MyAdapter
1115
import com.qlh.customviewinstruction.adpater.SwipeRecycleAdapter
1216
import com.qlh.sdk.myview.base.BaseActivity
1317
import com.qlh.sdk.myview.camera.CameraImpl
1418
import com.qlh.sdk.myview.camera.CameraView
15-
import com.qlh.sdk.myview.loading.DefaultLoadingAdapter
1619
import com.qlh.sdk.myview.swipe.Attributes
17-
import com.qlh.sdk.myview.utils.Gloading
1820
import com.qlh.sdk.myview.utils.LooperHorizontalLayoutManager
19-
import com.qlh.sdk.myview.utils.LooperVerticalLayoutManager
2021
import com.tbruyelle.rxpermissions2.RxPermissions
2122
import io.reactivex.Observer
2223
import io.reactivex.disposables.Disposable
@@ -118,7 +119,11 @@ class MainActivity : BaseActivity<MainViewModel>() {
118119

119120
//swipe
120121
//swipe()
121-
loopRv()
122+
//loopRv()
123+
svg_btn.setOnClickListener {
124+
125+
startAnimator(R.drawable.line_animated_search,false)
126+
}
122127

123128
}
124129

@@ -154,13 +159,36 @@ class MainActivity : BaseActivity<MainViewModel>() {
154159
swipe_rv.adapter = adapter
155160
}
156161

157-
private fun loopRv(){
162+
private fun loopRv() {
158163

159164
loop_rv.adapter = MyAdapter()
160165
val looperManager = LooperHorizontalLayoutManager()
161166
looperManager.setLooperEnable(true)
162167
loop_rv.layoutManager = looperManager
163168
}
169+
170+
171+
private fun startAnimator(lineAnimatedVector:Int,isRegister: Boolean):Animatable{
172+
173+
val animatedVectorDrawable = AnimatedVectorDrawableCompat.create(this, lineAnimatedVector)
174+
svg_iv.setImageDrawable(animatedVectorDrawable)
175+
val animatable = svg_iv.drawable as Animatable
176+
animatable.start()
177+
animatedVectorDrawable?.registerAnimationCallback(object:Animatable2Compat.AnimationCallback(){
178+
override fun onAnimationEnd(drawable: Drawable?) {
179+
super.onAnimationEnd(drawable)
180+
if (!isRegister)return
181+
animatedVectorDrawable.unregisterAnimationCallback(this)
182+
(drawable as Animatable).start()
183+
}
184+
})
185+
return animatable
186+
}
187+
188+
override fun onDestroy() {
189+
super.onDestroy()
190+
}
191+
164192
override fun obtainViewModel(): MainViewModel? {
165193

166194
return ViewModelProviders.of(this).get(MainViewModel::class.java)
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.qlh.customviewinstruction.practice
2+
3+
import android.content.Context
4+
import android.graphics.Canvas
5+
import android.graphics.Color
6+
import android.graphics.Paint
7+
import android.util.AttributeSet
8+
import android.view.View
9+
10+
/**
11+
*作者:QLH on 2019-12-18
12+
*描述:
13+
*/
14+
class Pie : View {
15+
16+
constructor(context: Context) : this(context, null)
17+
constructor(context: Context, attributeSet: AttributeSet?) : this(context, attributeSet, 0)
18+
constructor(context: Context, attributeSet: AttributeSet?, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr)
19+
20+
21+
override fun onDraw(canvas: Canvas?) {
22+
super.onDraw(canvas)
23+
24+
canvas?.drawColor(Color.YELLOW)
25+
26+
val paint = Paint()
27+
//实心圆 红色
28+
paint.style = Paint.Style.FILL
29+
paint.isAntiAlias = true
30+
paint.color = Color.RED
31+
canvas?.drawCircle(50f,50f,50f,paint)
32+
//空心圆 红色
33+
paint.style = Paint.Style.STROKE
34+
canvas?.drawCircle(150f,50f,50f,paint)
35+
36+
//蓝色实心圆
37+
paint.style = Paint.Style.FILL
38+
paint.color = Color.BLUE
39+
canvas?.drawCircle(250f,50f,50f,paint)
40+
41+
//线宽为20的空心圆
42+
paint.style = Paint.Style.STROKE
43+
paint.color = Color.RED
44+
paint.strokeWidth = 20f
45+
canvas?.drawCircle(360f,60f,50f,paint)
46+
47+
//矩形
48+
paint.style = Paint.Style.FILL
49+
canvas?.drawRect(0f,150f,100f,200f,paint)
50+
canvas?.drawRoundRect(150f,150f,250f,200f,10f,10f,paint)
51+
52+
paint.style = Paint.Style.STROKE
53+
paint.strokeWidth = 10f
54+
canvas?.drawRoundRect(300f,150f,400f,200f,10f,10f,paint)
55+
canvas?.drawRect(450f,150f,550f,200f,paint)
56+
}
57+
}

0 commit comments

Comments
 (0)