Skip to content

Commit d2cd976

Browse files
committed
done custom style
1 parent 1666dcc commit d2cd976

File tree

4 files changed

+51
-46
lines changed

4 files changed

+51
-46
lines changed

android/src/main/java/com/reactnativemultipleimagepicker/MultipleImagePickerModule.kt

Lines changed: 50 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.reactnativemultipleimagepicker
22

33
import android.content.Context
44
import android.graphics.Bitmap
5+
import android.graphics.Color
56
import android.media.MediaMetadataRetriever
67
import android.os.Build
78
import androidx.annotation.RequiresApi
@@ -16,11 +17,7 @@ import com.luck.picture.lib.engine.PictureSelectorEngine
1617
import com.luck.picture.lib.entity.LocalMedia
1718
import com.luck.picture.lib.entity.LocalMedia.generateLocalMedia
1819
import com.luck.picture.lib.interfaces.OnResultCallbackListener
19-
import com.luck.picture.lib.style.BottomNavBarStyle
20-
import com.luck.picture.lib.style.PictureSelectorStyle
21-
import com.luck.picture.lib.style.PictureWindowAnimationStyle
22-
import com.luck.picture.lib.style.SelectMainStyle
23-
import com.luck.picture.lib.style.TitleBarStyle
20+
import com.luck.picture.lib.style.*
2421
import java.io.*
2522
import java.util.*
2623

@@ -149,69 +146,79 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
149146

150147
private fun setStyle(options: ReadableMap) {
151148
val doneTitle = options.getString("doneTitle")
152-
val previewTitle = options.getString("previewTitle")
153149

150+
val primaryColor: Int = Color.parseColor(options.getString("selectedColor"))
151+
152+
// ANIMATION SLIDE FROM BOTTOM
154153
val animationStyle = PictureWindowAnimationStyle()
155154
animationStyle.setActivityEnterAnimation(R.anim.ps_anim_up_in)
156155
animationStyle.setActivityExitAnimation(R.anim.ps_anim_down_out)
157156

158-
val blueTitleBarStyle = TitleBarStyle()
159-
blueTitleBarStyle.titleBackgroundColor =
157+
// TITLE BAR
158+
val titleBar = TitleBarStyle()
159+
titleBar.titleBackgroundColor =
160160
ContextCompat.getColor(appContext, R.color.app_color_white)
161161

162-
blueTitleBarStyle.setHideCancelButton(true);
163-
blueTitleBarStyle.setAlbumTitleRelativeLeft(true);
164-
165-
blueTitleBarStyle.setTitleAlbumBackgroundResource(R.drawable.ps_album_bg);
166-
167-
blueTitleBarStyle.setTitleDrawableRightResource(R.drawable.ps_ic_grey_arrow);
168-
blueTitleBarStyle.setPreviewTitleLeftBackResource(R.drawable.ps_ic_black_back);
169-
blueTitleBarStyle.setTitleLeftBackResource(R.drawable.ps_ic_black_back);
162+
titleBar.setHideCancelButton(true);
163+
titleBar.setAlbumTitleRelativeLeft(true);
170164

165+
titleBar.setTitleAlbumBackgroundResource(R.drawable.ps_album_bg);
166+
titleBar.setTitleDrawableRightResource(R.drawable.ps_ic_grey_arrow);
167+
titleBar.setPreviewTitleLeftBackResource(R.drawable.ps_ic_black_back);
168+
titleBar.setTitleLeftBackResource(R.drawable.ps_ic_black_back);
169+
titleBar.setHideCancelButton(true)
171170

172-
val numberBlueBottomNavBarStyle = BottomNavBarStyle()
173-
numberBlueBottomNavBarStyle.bottomPreviewNormalTextColor =
171+
// BOTTOM BAR
172+
val bottomBar = BottomNavBarStyle()
173+
bottomBar.bottomPreviewNormalTextColor =
174174
ContextCompat.getColor(appContext, R.color.app_color_pri)
175-
numberBlueBottomNavBarStyle.bottomPreviewSelectTextColor =
175+
bottomBar.bottomPreviewSelectTextColor =
176176
ContextCompat.getColor(appContext, R.color.app_color_pri)
177-
numberBlueBottomNavBarStyle.bottomNarBarBackgroundColor =
177+
bottomBar.bottomNarBarBackgroundColor =
178178
ContextCompat.getColor(appContext, R.color.ps_color_white)
179-
numberBlueBottomNavBarStyle.bottomSelectNumResources = R.drawable.num_oval_orange
180-
numberBlueBottomNavBarStyle.bottomEditorTextColor =
179+
bottomBar.bottomSelectNumResources = R.drawable.num_oval_orange
180+
bottomBar.bottomEditorTextColor =
181181
ContextCompat.getColor(appContext, R.color.ps_color_53575e)
182-
numberBlueBottomNavBarStyle.bottomOriginalTextColor =
182+
bottomBar.bottomOriginalTextColor =
183183
ContextCompat.getColor(appContext, R.color.ps_color_53575e)
184-
185-
186-
val numberBlueSelectMainStyle = SelectMainStyle()
187-
188-
numberBlueSelectMainStyle.setPreviewSelectNumberStyle(true)
189-
numberBlueSelectMainStyle.isSelectNumberStyle = true
190-
numberBlueSelectMainStyle.isPreviewSelectNumberStyle = true
191-
numberBlueSelectMainStyle.selectBackground = R.drawable.picture_selector
192-
numberBlueSelectMainStyle.mainListBackgroundColor =
184+
bottomBar.bottomPreviewNormalTextColor = R.color.app_color_53575e
185+
bottomBar.bottomPreviewNormalTextColor = R.color.app_color_black
186+
187+
// MAIN STYLE
188+
val mainStyle = SelectMainStyle()
189+
190+
mainStyle.setPreviewSelectRelativeBottom(true)
191+
mainStyle.setSelectNumberStyle(if (singleSelectedMode) false else true)
192+
mainStyle.setPreviewSelectNumberStyle(true);
193+
mainStyle.isSelectNumberStyle = true
194+
mainStyle.selectBackground = R.drawable.picture_selector
195+
mainStyle.mainListBackgroundColor =
193196
ContextCompat.getColor(appContext, R.color.ps_color_white)
194-
numberBlueSelectMainStyle.previewSelectBackground =
197+
mainStyle.previewSelectBackground =
195198
R.drawable.picture_selector
196199

197-
numberBlueSelectMainStyle.selectNormalTextColor =
200+
// custom select text on top
201+
mainStyle.setSelectText(doneTitle)
202+
mainStyle.setCompleteSelectRelativeTop(true)
203+
mainStyle.setSelectNormalText(doneTitle)
204+
205+
206+
mainStyle.selectNormalTextColor =
198207
ContextCompat.getColor(appContext, R.color.ps_color_9b)
199-
numberBlueSelectMainStyle.selectText = doneTitle
200-
numberBlueSelectMainStyle.selectTextColor =
201-
ContextCompat.getColor(appContext, R.color.app_color_pri)
202-
numberBlueSelectMainStyle.selectText = doneTitle
208+
mainStyle.selectTextColor = primaryColor
209+
mainStyle.selectText = doneTitle
203210

204-
numberBlueSelectMainStyle.setStatusBarColor(
211+
mainStyle.setStatusBarColor(
205212
ContextCompat.getColor(
206213
appContext,
207214
R.color.app_color_white
208215
)
209216
);
210-
numberBlueSelectMainStyle.setDarkStatusBarBlack(true);
217+
mainStyle.setDarkStatusBarBlack(true);
211218

212-
style.setTitleBarStyle(blueTitleBarStyle)
213-
style.setBottomBarStyle(numberBlueBottomNavBarStyle)
214-
style.setSelectMainStyle(numberBlueSelectMainStyle)
219+
style.setTitleBarStyle(titleBar)
220+
style.setBottomBarStyle(bottomBar)
221+
style.setSelectMainStyle(mainStyle)
215222
style.setWindowAnimationStyle(animationStyle)
216223

217224

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<selector xmlns:android="http://schemas.android.com/apk/res/android">
2+
<selector android:id="@+id/picture_selector" xmlns:android="http://schemas.android.com/apk/res/android">
33
<item android:drawable="@drawable/num_oval_orange" android:state_selected="true" />
44
<item android:drawable="@drawable/picture_not_selected" android:state_selected="false" />
55
</selector>

src/index.d.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ export type Options<T extends MediaType = MediaType.ALL> = {
7070
thumbnailWidth?: number;
7171
thumbnailHeight?: number;
7272
haveThumbnail?: boolean;
73-
previewTitle?: string;
7473
};
7574

7675
export interface SinglePickerOptions {

src/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ let defaultOptions = {
2525
messageTitleButton: 'OK',
2626
cancelTitle: 'Cancel',
2727
tapHereToChange: 'Tap here to change',
28-
previewTitle: 'Xem trước',
2928

3029
//****//
3130

0 commit comments

Comments
 (0)