Skip to content

Commit

Permalink
DSL化改造
Browse files Browse the repository at this point in the history
  • Loading branch information
XuQK committed Jul 9, 2020
1 parent 5e68120 commit 365f73a
Show file tree
Hide file tree
Showing 8 changed files with 166 additions and 91 deletions.
53 changes: 25 additions & 28 deletions app/src/main/java/github/xuqk/kdimageviewer/sample/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,38 @@ package github.xuqk.kdimageviewer.sample

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.viewpager.widget.ViewPager
import com.bumptech.glide.Glide
import com.bumptech.glide.request.target.Target
import github.xuqk.kdimageviewer.KDImageViewer
import github.xuqk.kdimageviewer.kdImageViewer
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

private val ivHelper: KDImageViewer by lazy {
KDImageViewer(
this,
imageLoader = KDImageViewLoader,
coverModule = MyCoverModule(this)
)
kdImageViewer {
context = this@MainActivity
imageLoader = KDImageViewLoader
animDuration = 400
coverModule = MyCoverModule(this@MainActivity)
onShowAnimateStart = {
Log.d("标签", "显示动画开始")
}
onShowAnimateEnd = {
Log.d("标签", "显示动画结束")
}
onDismissAnimateStart = {
Log.d("标签", "消失动画开始")
}
onDismissAnimateEnd = {
Log.d("标签", "消失动画结束")
}
}
}

override fun onCreate(savedInstanceState: Bundle?) {
Expand All @@ -45,31 +60,13 @@ class MainActivity : AppCompatActivity() {

val views = listOf(iv0, iv1, iv2, iv3, iv4, iv5, iv6)

ivHelper.srcImageViewFetcher = object : KDImageViewer.SrcImageViewFetcher() {
override fun getSrcImageView(position: Int): ImageView? {
return null
// return views[position]
}
ivHelper.srcImageViewFetcher = {
views[it]
}

ivHelper.pageChangeListener = object : ViewPager.OnPageChangeListener {
override fun onPageScrollStateChanged(state: Int) {

}

override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {

}

override fun onPageSelected(position: Int) {
ivHelper.coverModule?.getCoverView()?.findViewById<TextView>(R.id.tv_index)
?.text = "${position + 1}/${originList.size}"
}

ivHelper.onPageSelected = {
ivHelper.coverModule?.getCoverView()?.findViewById<TextView>(R.id.tv_index)
?.text = "${it + 1}/${originList.size}"
}

Glide.with(iv0)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package github.xuqk.kdimageviewer.sample;

import android.os.Bundle;
import android.widget.ImageView;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import github.xuqk.kdimageviewer.KDImageViewer;
import github.xuqk.kdimageviewer.KDslKt;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;

/**
* Created By:XuQK
* Created Date:2020/7/9 15:13
* Creator Email:[email protected]
* Description:
*/

class MainActivityJava extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

KDImageViewer kd = KDslKt.kdImageViewer(new Function1<KDImageViewer, Unit>() {
@Override
public Unit invoke(KDImageViewer kdImageViewer) {

return null;
}
});

kd.setSrcImageViewFetcher(new Function1<Integer, ImageView>() {
@Override
public ImageView invoke(Integer integer) {
return null;
}
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.widget.TextView
import android.widget.Toast
import github.xuqk.kdimageviewer.KDCoverModule

/**
Expand All @@ -31,6 +32,12 @@ class MyCoverModule(private val activity: Activity): KDCoverModule(activity) {
override fun getCoverView(): View? {
if (coverView == null) {
coverView = LayoutInflater.from(activity).inflate(R.layout.app_widget_cover, null)
coverView!!.findViewById<View>(R.id.tv_download).setOnClickListener {
Toast.makeText(activity, "你就当我下载了吧", Toast.LENGTH_SHORT).show()
}
coverView!!.findViewById<View>(R.id.tv_click).setOnClickListener {
Toast.makeText(activity, "点击", Toast.LENGTH_SHORT).show()
}
}
return coverView!!
}
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/layout/app_widget_cover.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
android:layout_gravity="bottom"/>

<TextView
android:id="@+id/tv_toast"
android:id="@+id/tv_click"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package github.xuqk.kdimageviewer

import android.app.Activity
import android.content.Context
import android.content.res.ColorStateList
import android.graphics.Color
Expand Down
Loading

0 comments on commit 365f73a

Please sign in to comment.