Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
Super PDF Reader
Project
Project
Details
Activity
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Super PDF Reader
Commits
68f0c62e
Commit
68f0c62e
authored
Jun 12, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...提交部分ui...
parent
3fbf0155
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
348 additions
and
2 deletions
+348
-2
build.gradle
app/build.gradle
+4
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+3
-0
ImageSelectionActivity.kt
...om/base/superpdfreader/activity/ImageSelectionActivity.kt
+26
-0
ImageSelectionAdapter.kt
.../com/base/superpdfreader/adapter/ImageSelectionAdapter.kt
+117
-0
ImageBean.kt
app/src/main/java/com/base/superpdfreader/bean/ImageBean.kt
+8
-0
BaseActivity.kt
...c/main/java/com/base/superpdfreader/helps/BaseActivity.kt
+0
-2
bg_image_selector.xml
app/src/main/res/drawable/bg_image_selector.xml
+6
-0
activity_image_selection.xml
app/src/main/res/layout/activity_image_selection.xml
+104
-0
item_image_selected.xml
app/src/main/res/layout/item_image_selected.xml
+30
-0
item_image_selection.xml
app/src/main/res/layout/item_image_selection.xml
+50
-0
fanhui.png
app/src/main/res/mipmap-xxhdpi/fanhui.png
+0
-0
image_camera_icon.png
app/src/main/res/mipmap-xxhdpi/image_camera_icon.png
+0
-0
imagedel.png
app/src/main/res/mipmap-xxhdpi/imagedel.png
+0
-0
imageweixuan.png
app/src/main/res/mipmap-xxhdpi/imageweixuan.png
+0
-0
imagexuan.png
app/src/main/res/mipmap-xxhdpi/imagexuan.png
+0
-0
No files found.
app/build.gradle
View file @
68f0c62e
...
...
@@ -54,4 +54,8 @@ dependencies {
//ui第三方
implementation
(
"com.github.JavaNoober.BackgroundLibrary:libraryx:1.7.6"
)
implementation
'com.github.bumptech.glide:glide:4.16.0'
//pdf浏览
implementation
'com.github.barteksc:pdfium-android:1.7.1'
}
\ No newline at end of file
app/src/main/AndroidManifest.xml
View file @
68f0c62e
...
...
@@ -18,6 +18,9 @@
android:supportsRtl=
"true"
android:theme=
"@style/Theme.SuperPDFReader"
tools:targetApi=
"31"
>
<activity
android:name=
".activity.ImageSelectionActivity"
android:exported=
"false"
/>
<activity
android:name=
".activity.PdfBrowserActivity"
android:exported=
"false"
/>
...
...
app/src/main/java/com/base/superpdfreader/activity/ImageSelectionActivity.kt
0 → 100644
View file @
68f0c62e
package
com.base.superpdfreader.activity
import
android.os.Bundle
import
androidx.activity.enableEdgeToEdge
import
androidx.appcompat.app.AppCompatActivity
import
androidx.core.view.ViewCompat
import
androidx.core.view.WindowInsetsCompat
import
com.base.superpdfreader.R
import
com.base.superpdfreader.adapter.ImageSelectionAdapter
import
com.base.superpdfreader.databinding.ActivityImageSelectionBinding
import
com.base.superpdfreader.helps.BaseActivity
class
ImageSelectionActivity
:
BaseActivity
<
ActivityImageSelectionBinding
>()
{
private
lateinit
var
imageSelectionAdapter
:
ImageSelectionAdapter
override
val
binding
:
ActivityImageSelectionBinding
by
lazy
{
ActivityImageSelectionBinding
.
inflate
(
layoutInflater
)
}
override
fun
initView
()
{
imageSelectionAdapter
=
ImageSelectionAdapter
()
}
}
\ No newline at end of file
app/src/main/java/com/base/superpdfreader/adapter/ImageSelectionAdapter.kt
0 → 100644
View file @
68f0c62e
package
com.base.superpdfreader.adapter
import
android.view.View
import
android.view.ViewGroup
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView.ViewHolder
import
com.base.superpdfreader.R
import
com.base.superpdfreader.bean.ImageBean
import
com.base.superpdfreader.databinding.ItemImageSelectedBinding
import
com.base.superpdfreader.databinding.ItemImageSelectionBinding
import
com.base.superpdfreader.view.XmlEx.inflate
import
com.bumptech.glide.Glide
class
ImageSelectionAdapter
(
val
uiMode
:
Int
=
UI_IMAGE_GRID
)
:
RecyclerView
.
Adapter
<
ImageSelectionAdapter
.
IMAGE
>()
{
private
val
imageBeans
=
arrayListOf
<
ImageBean
>()
inner
class
IMAGE
(
view
:
View
)
:
ViewHolder
(
view
)
{
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
IMAGE
{
val
layout
=
if
(
uiMode
==
UI_IMAGE_GRID
)
R
.
layout
.
item_image_selection
else
R
.
layout
.
item_image_selected
return
IMAGE
(
R
.
layout
.
item_image_selection
.
inflate
(
parent
))
}
override
fun
getItemCount
():
Int
{
return
imageBeans
.
size
}
override
fun
onBindViewHolder
(
holder
:
IMAGE
,
position
:
Int
)
{
val
data
=
imageBeans
[
position
]
val
context
=
holder
.
itemView
.
context
when
(
uiMode
)
{
UI_IMAGE_GRID
->
{
val
binding
=
ItemImageSelectionBinding
.
bind
(
holder
.
itemView
)
if
(
data
.
isCamera
)
{
binding
.
flContent
.
visibility
=
View
.
GONE
binding
.
flCamera
.
visibility
=
View
.
VISIBLE
}
else
{
binding
.
flCamera
.
visibility
=
View
.
GONE
binding
.
flContent
.
visibility
=
View
.
VISIBLE
if
(
data
.
file
?.
exists
()
==
true
)
{
Glide
.
with
(
context
).
load
(
data
.
file
).
into
(
binding
.
iv
)
}
binding
.
ivSelector
.
isSelected
=
data
.
isSelect
binding
.
ivSelector
.
setOnClickListener
{
data
.
isSelect
=
!
data
.
isSelect
binding
.
ivSelector
.
isSelected
=
data
.
isSelect
notifyItemChanged
(
position
,
"KOKO"
)
}
}
}
UI_IMAGE_LIST
->
{
val
binding
=
ItemImageSelectedBinding
.
bind
(
holder
.
itemView
)
if
(
data
.
file
?.
exists
()
==
true
)
{
Glide
.
with
(
context
).
load
(
data
.
file
).
into
(
binding
.
iv
)
}
binding
.
ivDelete
.
setOnClickListener
{
}
}
}
}
override
fun
onBindViewHolder
(
holder
:
IMAGE
,
position
:
Int
,
payloads
:
MutableList
<
Any
>)
{
val
context
=
holder
.
itemView
.
context
val
data
=
imageBeans
[
position
]
when
(
uiMode
)
{
UI_IMAGE_GRID
->
{
val
binding
=
ItemImageSelectionBinding
.
bind
(
holder
.
itemView
)
if
(
payloads
.
isEmpty
())
{
if
(
data
.
isCamera
)
{
binding
.
flContent
.
visibility
=
View
.
GONE
binding
.
flCamera
.
visibility
=
View
.
VISIBLE
}
else
{
binding
.
flCamera
.
visibility
=
View
.
GONE
binding
.
flContent
.
visibility
=
View
.
VISIBLE
if
(
data
.
file
?.
exists
()
==
true
)
{
Glide
.
with
(
context
).
load
(
data
.
file
).
into
(
binding
.
iv
)
}
binding
.
ivSelector
.
isSelected
=
data
.
isSelect
binding
.
ivSelector
.
setOnClickListener
{
data
.
isSelect
=
!
data
.
isSelect
binding
.
ivSelector
.
isSelected
=
data
.
isSelect
notifyItemChanged
(
position
,
"KOKO"
)
}
}
}
else
{
binding
.
ivSelector
.
isSelected
=
data
.
isSelect
super
.
onBindViewHolder
(
holder
,
position
,
payloads
)
}
}
UI_IMAGE_LIST
->
{
val
binding
=
ItemImageSelectedBinding
.
bind
(
holder
.
itemView
)
if
(
data
.
file
?.
exists
()
==
true
)
{
Glide
.
with
(
context
).
load
(
data
.
file
).
into
(
binding
.
iv
)
}
binding
.
ivDelete
.
setOnClickListener
{
}
}
}
}
companion
object
{
const
val
UI_IMAGE_GRID
=
0
const
val
UI_IMAGE_LIST
=
1
}
}
\ No newline at end of file
app/src/main/java/com/base/superpdfreader/bean/ImageBean.kt
0 → 100644
View file @
68f0c62e
package
com.base.superpdfreader.bean
import
java.io.File
data class
ImageBean
(
val
file
:
File
?
=
null
)
{
var
isCamera
:
Boolean
=
false
var
isSelect
:
Boolean
=
false
}
app/src/main/java/com/base/superpdfreader/helps/BaseActivity.kt
View file @
68f0c62e
...
...
@@ -27,8 +27,6 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
BarUtils
.
setStatusBarLightMode
(
this
,
it
)
}
// EventHelper.event("page_${javaClass.simpleName}")
initView
()
initListener
()
}
...
...
app/src/main/res/drawable/bg_image_selector.xml
0 → 100644
View file @
68f0c62e
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@mipmap/imageweixuan"
android:state_selected=
"false"
/>
<item
android:drawable=
"@mipmap/imagexuan"
android:state_selected=
"true"
/>
</selector>
\ No newline at end of file
app/src/main/res/layout/activity_image_selection.xml
0 → 100644
View file @
68f0c62e
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#F4F5F9"
android:orientation=
"vertical"
tools:context=
".activity.ImageSelectionActivity"
>
<FrameLayout
android:id=
"@+id/fl_top"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"UselessParent"
>
<FrameLayout
android:id=
"@+id/fl_back"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:padding=
"10dp"
tools:ignore=
"UselessParent"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/fanhui"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:text=
"Image Selection"
android:textColor=
"@color/black"
android:textSize=
"19sp"
android:textStyle=
"bold"
tools:ignore=
"HardcodedText"
/>
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_image"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/fl_top"
app:spanCount=
"3"
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:minHeight=
"100dp"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_select_image"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintBottom_toTopOf=
"@id/tv_import"
app:layout_constraintTop_toTopOf=
"parent"
/>
<com.noober.background.view.BLTextView
android:id=
"@+id/tv_import"
android:layout_width=
"135dp"
android:layout_height=
"40dp"
android:layout_marginVertical=
"20dp"
android:layout_marginEnd=
"16dp"
android:enabled=
"false"
android:gravity=
"center"
android:text=
"IMPORT"
android:textColor=
"@color/white"
android:textSize=
"17sp"
android:textStyle=
"bold"
app:bl_corners_radius=
"20dp"
app:bl_enabled_solid_color=
"#FF3835"
app:bl_unEnabled_solid_color=
"#D7DFE0"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/rv_select_image"
tools:ignore=
"HardcodedText"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"16dp"
android:text=
"All Images"
android:textColor=
"@color/black"
android:textSize=
"17sp"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"@id/tv_import"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_import"
tools:ignore=
"HardcodedText"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_image_selected.xml
0 → 100644
View file @
68f0c62e
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"5dp"
>
<com.noober.background.view.BLImageView
android:id=
"@+id/iv"
android:layout_width=
"75dp"
android:layout_height=
"75dp"
android:layout_margin=
"15dp"
app:bl_corners_radius=
"9dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ImageView
android:id=
"@+id/iv_delete"
android:layout_width=
"29dp"
android:layout_height=
"29sp"
android:layout_margin=
"5dp"
android:src=
"@mipmap/imagedel"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_image_selection.xml
0 → 100644
View file @
68f0c62e
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"106dp"
android:layout_height=
"106dp"
android:layout_margin=
"6dp"
android:elevation=
"0dp"
app:cardCornerRadius=
"9dp"
>
<FrameLayout
android:id=
"@+id/fl_camera"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#96D4FF"
android:visibility=
"gone"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:src=
"@mipmap/image_camera_icon"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<FrameLayout
android:id=
"@+id/fl_content"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ImageView
android:id=
"@+id/iv"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:scaleType=
"centerCrop"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_selector"
android:layout_width=
"30dp"
android:layout_height=
"30dp"
android:layout_gravity=
"bottom|end"
android:layout_margin=
"8dp"
android:src=
"@drawable/bg_image_selector"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
</androidx.cardview.widget.CardView>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/fanhui.png
0 → 100644
View file @
68f0c62e
1.2 KB
app/src/main/res/mipmap-xxhdpi/image_camera_icon.png
0 → 100644
View file @
68f0c62e
3.17 KB
app/src/main/res/mipmap-xxhdpi/imagedel.png
0 → 100644
View file @
68f0c62e
2.82 KB
app/src/main/res/mipmap-xxhdpi/imageweixuan.png
0 → 100644
View file @
68f0c62e
5.78 KB
app/src/main/res/mipmap-xxhdpi/imagexuan.png
0 → 100644
View file @
68f0c62e
6.72 KB
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