Skip to content

Commit

Permalink
拍照增加自动对焦
Browse files Browse the repository at this point in the history
  • Loading branch information
wzgl5533 committed Jun 7, 2020
1 parent fb8b541 commit bb03eb5
Show file tree
Hide file tree
Showing 23 changed files with 1,103 additions and 44 deletions.
Binary file modified .idea/caches/build_file_checksums.ser
Binary file not shown.
137 changes: 112 additions & 25 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 6 additions & 2 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ android {
compileSdkVersion 28
defaultConfig {
applicationId "com.qlh.customviewinstruction"
minSdkVersion 15
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
Expand Down
38 changes: 33 additions & 5 deletions app/src/main/java/com/qlh/customviewinstruction/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,22 @@ package com.qlh.customviewinstruction

import android.Manifest
import android.graphics.Bitmap
import android.graphics.drawable.Animatable
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.vectordrawable.graphics.drawable.Animatable2Compat
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat
import com.qlh.customviewinstruction.adpater.MyAdapter
import com.qlh.customviewinstruction.adpater.SwipeRecycleAdapter
import com.qlh.sdk.myview.base.BaseActivity
import com.qlh.sdk.myview.camera.CameraImpl
import com.qlh.sdk.myview.camera.CameraView
import com.qlh.sdk.myview.loading.DefaultLoadingAdapter
import com.qlh.sdk.myview.swipe.Attributes
import com.qlh.sdk.myview.utils.Gloading
import com.qlh.sdk.myview.utils.LooperHorizontalLayoutManager
import com.qlh.sdk.myview.utils.LooperVerticalLayoutManager
import com.tbruyelle.rxpermissions2.RxPermissions
import io.reactivex.Observer
import io.reactivex.disposables.Disposable
Expand Down Expand Up @@ -118,7 +119,11 @@ class MainActivity : BaseActivity<MainViewModel>() {

//swipe
//swipe()
loopRv()
//loopRv()
svg_btn.setOnClickListener {

startAnimator(R.drawable.line_animated_search,false)
}

}

Expand Down Expand Up @@ -154,13 +159,36 @@ class MainActivity : BaseActivity<MainViewModel>() {
swipe_rv.adapter = adapter
}

private fun loopRv(){
private fun loopRv() {

loop_rv.adapter = MyAdapter()
val looperManager = LooperHorizontalLayoutManager()
looperManager.setLooperEnable(true)
loop_rv.layoutManager = looperManager
}


private fun startAnimator(lineAnimatedVector:Int,isRegister: Boolean):Animatable{

val animatedVectorDrawable = AnimatedVectorDrawableCompat.create(this, lineAnimatedVector)
svg_iv.setImageDrawable(animatedVectorDrawable)
val animatable = svg_iv.drawable as Animatable
animatable.start()
animatedVectorDrawable?.registerAnimationCallback(object:Animatable2Compat.AnimationCallback(){
override fun onAnimationEnd(drawable: Drawable?) {
super.onAnimationEnd(drawable)
if (!isRegister)return
animatedVectorDrawable.unregisterAnimationCallback(this)
(drawable as Animatable).start()
}
})
return animatable
}

override fun onDestroy() {
super.onDestroy()
}

override fun obtainViewModel(): MainViewModel? {

return ViewModelProviders.of(this).get(MainViewModel::class.java)
Expand Down
57 changes: 57 additions & 0 deletions app/src/main/java/com/qlh/customviewinstruction/practice/Pie.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package com.qlh.customviewinstruction.practice

import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.util.AttributeSet
import android.view.View

/**
*作者:QLH on 2019-12-18
*描述:
*/
class Pie : View {

constructor(context: Context) : this(context, null)
constructor(context: Context, attributeSet: AttributeSet?) : this(context, attributeSet, 0)
constructor(context: Context, attributeSet: AttributeSet?, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr)


override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)

canvas?.drawColor(Color.YELLOW)

val paint = Paint()
//实心圆 红色
paint.style = Paint.Style.FILL
paint.isAntiAlias = true
paint.color = Color.RED
canvas?.drawCircle(50f,50f,50f,paint)
//空心圆 红色
paint.style = Paint.Style.STROKE
canvas?.drawCircle(150f,50f,50f,paint)

//蓝色实心圆
paint.style = Paint.Style.FILL
paint.color = Color.BLUE
canvas?.drawCircle(250f,50f,50f,paint)

//线宽为20的空心圆
paint.style = Paint.Style.STROKE
paint.color = Color.RED
paint.strokeWidth = 20f
canvas?.drawCircle(360f,60f,50f,paint)

//矩形
paint.style = Paint.Style.FILL
canvas?.drawRect(0f,150f,100f,200f,paint)
canvas?.drawRoundRect(150f,150f,250f,200f,10f,10f,paint)

paint.style = Paint.Style.STROKE
paint.strokeWidth = 10f
canvas?.drawRoundRect(300f,150f,400f,200f,10f,10f,paint)
canvas?.drawRect(450f,150f,550f,200f,paint)
}
}
Loading

0 comments on commit bb03eb5

Please sign in to comment.