Skip to content

Commit 9687e0a

Browse files
committed
增加androidx的支持
1 parent dd30467 commit 9687e0a

File tree

9 files changed

+43
-46
lines changed

9 files changed

+43
-46
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,12 @@ PhotoViewer
9090

9191
## 更新日志
9292

93+
94+
### 0.48
95+
96+
增加androidx的支持
97+
98+
9399
### 0.47
94100

95101
修复了在下拉退出时双指放大图片导致图片不会回弹的bug

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

33
buildscript {
4-
ext.kotlin_version = '1.1.51'
4+
ext.kotlin_version = '1.2.51'
55
repositories {
66
google()
77
jcenter()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:3.0.1'
10+
classpath 'com.android.tools.build:gradle:3.2.1'
1111
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1212
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
1313
// NOTE: Do not place your application dependencies here; they belong

gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
# Specifies the JVM arguments used for the daemon process.
1111
# The setting is particularly useful for tweaking memory settings.
12+
android.enableJetifier=true
13+
android.useAndroidX=true
1214
org.gradle.jvmargs=-Xmx1536m
1315

1416
# When configured, Gradle will run in incubating parallel mode.

photoviewer/build.gradle

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ apply plugin: 'com.github.dcendents.android-maven'
55
group='wanglu1209'
66

77
android {
8-
compileSdkVersion 27
8+
compileSdkVersion 28
99

1010

1111

1212
defaultConfig {
1313
minSdkVersion 14
14-
targetSdkVersion 27
14+
targetSdkVersion 28
1515
versionCode 1
1616
versionName "1.0"
1717

18-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
18+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1919

2020
}
2121

@@ -31,11 +31,11 @@ android {
3131
dependencies {
3232
implementation fileTree(dir: 'libs', include: ['*.jar'])
3333

34-
compileOnly 'com.android.support:appcompat-v7:27.1.1'
35-
compileOnly 'com.android.support:support-v4:27.1.1'
36-
compileOnly 'com.android.support:appcompat-v7:27.1.1'
34+
compileOnly 'androidx.appcompat:appcompat:1.0.2'
35+
compileOnly 'androidx.legacy:legacy-support-v4:1.0.0'
36+
compileOnly 'androidx.appcompat:appcompat:1.0.2'
3737
compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
38-
compileOnly 'com.android.support:recyclerview-v7:27.1.1'
38+
compileOnly 'androidx.recyclerview:recyclerview:1.0.0'
3939
}
4040
repositories {
4141
mavenCentral()

photoviewer/src/main/java/com/wanglu/photoviewerlibrary/BaseLazyFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.wanglu.photoviewerlibrary
22

33
import android.os.Bundle
4-
import android.support.annotation.UiThread
5-
import android.support.v4.app.Fragment
4+
import androidx.annotation.UiThread
5+
import androidx.fragment.app.Fragment
66

77
abstract class BaseLazyFragment : Fragment() {
88
/**

photoviewer/src/main/java/com/wanglu/photoviewerlibrary/PhotoViewer.kt

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,18 @@ package com.wanglu.photoviewerlibrary
33
import android.animation.LayoutTransition
44
import android.animation.ObjectAnimator
55
import android.annotation.SuppressLint
6-
import android.app.Fragment
7-
import android.app.ProgressDialog.show
8-
import android.content.pm.ActivityInfo
96
import android.graphics.Color
10-
import android.os.Build
11-
import android.os.Bundle
12-
import android.support.v4.view.ViewPager
13-
import android.support.v7.app.AppCompatActivity
14-
import android.support.v7.widget.GridLayoutManager
15-
import android.support.v7.widget.LinearLayoutManager
16-
import android.support.v7.widget.RecyclerView
7+
import androidx.viewpager.widget.ViewPager
8+
import androidx.appcompat.app.AppCompatActivity
9+
import androidx.recyclerview.widget.GridLayoutManager
10+
import androidx.recyclerview.widget.LinearLayoutManager
11+
import androidx.recyclerview.widget.RecyclerView
1712
import android.view.*
1813
import android.widget.*
14+
import androidx.fragment.app.Fragment
1915
import java.lang.ref.WeakReference
2016
import java.util.*
2117
import kotlin.concurrent.timerTask
22-
import android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
23-
import android.view.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
24-
import android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
25-
import android.view.View.SYSTEM_UI_FLAG_LAYOUT_STABLE
26-
import android.view.View.SYSTEM_UI_FLAG_FULLSCREEN
27-
import android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE
28-
import android.view.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
29-
import android.view.View.SYSTEM_UI_FLAG_LAYOUT_STABLE
30-
import android.view.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
3118

3219

3320
@SuppressLint("StaticFieldLeak")
@@ -125,7 +112,7 @@ object PhotoViewer {
125112
return this
126113
}
127114

128-
fun setImgContainer(container: RecyclerView): PhotoViewer {
115+
fun setImgContainer(container: androidx.recyclerview.widget.RecyclerView): PhotoViewer {
129116
this.container = WeakReference(container)
130117
return this
131118
}
@@ -139,7 +126,7 @@ object PhotoViewer {
139126
val absListView = container.get() as AbsListView
140127
absListView.getChildAt(currentPage - absListView.firstVisiblePosition)
141128
} else {
142-
(container.get() as RecyclerView).layoutManager.findViewByPosition(currentPage)
129+
(container.get() as androidx.recyclerview.widget.RecyclerView).layoutManager!!.findViewByPosition(currentPage)
143130
}
144131

145132
var result: View? = null
@@ -185,6 +172,12 @@ object PhotoViewer {
185172
}
186173

187174

175+
fun start(fragment: android.app.Fragment) {
176+
val activity = fragment.activity!!
177+
start(activity as AppCompatActivity)
178+
}
179+
180+
188181
fun start(activity: AppCompatActivity) {
189182
show(activity)
190183
}
@@ -220,7 +213,7 @@ object PhotoViewer {
220213
val frameLayout = FrameLayout(activity)
221214

222215
val photoViewLayout = LayoutInflater.from(activity).inflate(R.layout.activity_photoviewer, null)
223-
val viewPager = photoViewLayout.findViewById<ViewPager>(R.id.mLookPicVP)
216+
val viewPager = photoViewLayout.findViewById<androidx.viewpager.widget.ViewPager>(R.id.mLookPicVP)
224217

225218
val fragments = mutableListOf<PhotoViewerFragment>()
226219
/**
@@ -275,7 +268,7 @@ object PhotoViewer {
275268
viewPager.adapter = adapter
276269
viewPager.currentItem = currentPage
277270
viewPager.offscreenPageLimit = 100
278-
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
271+
viewPager.addOnPageChangeListener(object : androidx.viewpager.widget.ViewPager.OnPageChangeListener {
279272
override fun onPageScrollStateChanged(state: Int) {
280273

281274
}
@@ -297,12 +290,12 @@ object PhotoViewer {
297290
* 如果滑到的view不在当前页面显示,那么则滑动到那个position,再获取itemView
298291
*/
299292
if (container.get() !is AbsListView) {
300-
val layoutManager = (container.get() as RecyclerView).layoutManager
301-
if (layoutManager is LinearLayoutManager) {
293+
val layoutManager = (container.get() as androidx.recyclerview.widget.RecyclerView).layoutManager
294+
if (layoutManager is androidx.recyclerview.widget.LinearLayoutManager) {
302295
if (currentPage < layoutManager.findFirstVisibleItemPosition() || currentPage > layoutManager.findLastVisibleItemPosition()) {
303296
layoutManager.scrollToPosition(currentPage)
304297
}
305-
} else if (layoutManager is GridLayoutManager) {
298+
} else if (layoutManager is androidx.recyclerview.widget.GridLayoutManager) {
306299
if (currentPage < layoutManager.findFirstVisibleItemPosition() || currentPage > layoutManager.findLastVisibleItemPosition()) {
307300
layoutManager.scrollToPosition(currentPage)
308301
}

photoviewer/src/main/java/com/wanglu/photoviewerlibrary/PhotoViewerPagerAdapter.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
package com.wanglu.photoviewerlibrary
22

3-
import android.support.v4.app.Fragment
4-
import android.support.v4.app.FragmentManager
5-
import android.support.v4.app.FragmentStatePagerAdapter
6-
7-
class PhotoViewerPagerAdapter(private var mData: MutableList<PhotoViewerFragment>, fragmentManager: FragmentManager) : FragmentStatePagerAdapter(fragmentManager) {
8-
override fun getItem(position: Int): Fragment {
3+
class PhotoViewerPagerAdapter(private var mData: MutableList<PhotoViewerFragment>, fragmentManager: androidx.fragment.app.FragmentManager) : androidx.fragment.app.FragmentStatePagerAdapter(fragmentManager) {
4+
override fun getItem(position: Int): androidx.fragment.app.Fragment {
95
return mData[position]
106
}
117

photoviewer/src/main/java/com/wanglu/photoviewerlibrary/ViewPagerFixed.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import android.content.Context
44
import android.util.AttributeSet
55
import android.view.MotionEvent
66

7-
class ViewPagerFixed : android.support.v4.view.ViewPager {
7+
class ViewPagerFixed : androidx.viewpager.widget.ViewPager {
88

99
constructor(context: Context) : super(context)
1010

photoviewer/src/main/java/com/wanglu/photoviewerlibrary/photoview/PhotoView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@
2323
import android.graphics.RectF;
2424
import android.graphics.drawable.Drawable;
2525
import android.net.Uri;
26-
import android.support.v7.widget.AppCompatImageView;
2726
import android.util.AttributeSet;
28-
import android.util.Log;
2927
import android.view.GestureDetector;
3028
import android.view.View;
3129
import android.widget.Scroller;
3230

3331
import java.util.Timer;
3432
import java.util.TimerTask;
3533

34+
import androidx.appcompat.widget.AppCompatImageView;
35+
3636
/**
3737
* A zoomable ImageView. See {@link PhotoViewAttacher} for most of the details on how the zooming
3838
* is accomplished

0 commit comments

Comments
 (0)