Skip to content

Commit

Permalink
升级通用UI库
Browse files Browse the repository at this point in the history
页面沉浸化
  • Loading branch information
你需要一台永动机 committed Jun 8, 2020
1 parent 6fa3fe5 commit 61d3e1a
Show file tree
Hide file tree
Showing 9 changed files with 48 additions and 36 deletions.
15 changes: 7 additions & 8 deletions app/src/main/java/io/weimu/www/imagepicker/ui/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager
import com.pmm.imagepicker.ImagePicker
import com.pmm.imagepicker.ui.preview2.ImagePreviewActivity
import com.pmm.ui.core.StatusNavigationBar
import com.pmm.ui.core.recyclerview.decoration.GridItemDecoration
import com.pmm.ui.core.toolbar.StatusBarManager
import com.pmm.ui.ktx.click
import com.pmm.ui.ktx.dip2px
import com.pmm.ui.ktx.getColorPro
import com.pmm.ui.ktx.requestPermission
import com.pmm.ui.ktx.click
import io.weimu.www.imagepicker.R
import io.weimu.www.imagepicker.fragment.adapter.ImageGridAdapter
import kotlinx.android.synthetic.main.activity_main.*
Expand All @@ -37,9 +36,9 @@ class MainActivity : AppCompatActivity() {

//添加
override fun onItemAddClick() {
// ImagePicker.pickImage4One(this@MainActivity,cropAspectRatioX = 1,cropAspectRatioY = 1)
ImagePicker.pickImage4One(this@MainActivity,cropAspectRatioX = 1,cropAspectRatioY = 1)
// ImagePicker.pickAvatar(this@MainActivity);
ImagePicker.pickImage(this@MainActivity, 30)
// ImagePicker.pickImage(this@MainActivity, 30)
// ImagePicker.pickImage4One(
// activity = this@MainActivity,
// cropAspectRatioY = 9,
Expand All @@ -64,13 +63,13 @@ class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
StatusNavigationBar.setStatusNavigationBarTransparent(window)
StatusNavigationBar.setDarkMode(window,true)
setContentView(R.layout.activity_main)

StatusBarManager.setColor(window, getColorPro(R.color.colorPrimary))
StatusBarManager.setDarkMode(window)

//ToolBar
mToolBar.apply {
this.showStatusView = true
this.navigationIcon {
this.click { onBackPressed() }
}
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ buildscript {
//依赖
ext.deps = [
'core' : [
'ui' : 'com.github.caoyanglee:universalui:0.5.84'
'ui' : 'com.github.caoyanglee:universalui:0.5.87'
]
]
//常规
ext.kotlin_version = '1.3.71'
ext.kotlin_version = '1.3.72'
repositories {
jcenter()
google()
Expand Down
3 changes: 1 addition & 2 deletions imagepicker/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
<activity android:name=".ui.preview.ImagePreviewActivity" />
<activity android:name=".ui.ImageCropActivity" />
<activity
android:name=".ui.CameraSelectorActivity"
android:theme="@style/ImagePreviewTheme" />
android:name=".ui.CameraSelectorActivity" />
<activity
android:name=".ui.preview2.ImagePreviewActivity"
android:theme="@style/ImagePreviewTheme" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@ import com.pmm.imagepicker.adapter.ImageFolderAdapter
import com.pmm.imagepicker.model.LocalMedia
import com.pmm.imagepicker.model.LocalMediaFolder
import com.pmm.ui.core.recyclerview.decoration.LinearItemDecoration
import com.pmm.ui.ktx.dip2px
import com.pmm.ui.ktx.getScreenHeight
import com.pmm.ui.ktx.getScreenWidth
import com.pmm.ui.ktx.getStatusBarHeight
import com.pmm.ui.ktx.*
import com.pmm.ui.widget.ToolBarPro
import java.lang.reflect.Method
import java.util.ArrayList
Expand Down Expand Up @@ -57,7 +54,7 @@ internal class FolderWindow(private val context: Context) : PopupWindow() {
view.setOnClickListener { dismiss() }
this.contentView = window
this.width = context.getScreenWidth()
this.height = context.getScreenHeight() - (ToolBarPro.GlobalConfig.toolbarHeight + context.getStatusBarHeight() + context.dip2px(48f))
this.height = context.getScreenHeight()
this.animationStyle = R.style.WindowStyle
this.isFocusable = true
this.isOutsideTouchable = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import com.pmm.imagepicker.Config
import com.pmm.imagepicker.R
import com.pmm.imagepicker.ktx.getUri4Crop
import com.pmm.ui.core.activity.BaseActivity
import com.pmm.ui.core.toolbar.StatusBarManager
import com.pmm.ui.core.StatusNavigationBar
import com.pmm.ui.ktx.gone
import com.pmm.ui.ktx.isLightColor
import com.pmm.ui.ktx.click
Expand Down Expand Up @@ -53,6 +53,10 @@ internal class ImageCropActivity : BaseActivity() {
}
}

override fun beforeSuperCreate(savedInstanceState: Bundle?) {
StatusNavigationBar.setStatusNavigationBarTransparent(window)
}


override fun beforeViewAttach(savedInstanceState: Bundle?) {
//data
Expand All @@ -66,6 +70,7 @@ internal class ImageCropActivity : BaseActivity() {
override fun afterViewAttach(savedInstanceState: Bundle?) {
//ToolBar
mToolBar.apply {
this.showStatusView=true
this.navigationIcon {
if (ToolBarPro.GlobalConfig.navigationDrawable == null) {
this.setImageResource(R.drawable.ic_nav_back_24dp)
Expand All @@ -91,13 +96,12 @@ internal class ImageCropActivity : BaseActivity() {
}
}
//StatusBar
StatusBarManager.apply {
StatusNavigationBar.apply {
val statusColor = mToolBar.getToolBarBgColor()
this.setColor(window, statusColor)
if (statusColor.isLightColor()) {
this.setLightMode(window)
this.setLightMode(window,true)
} else {
this.setDarkMode(window)
this.setDarkMode(window,true)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import com.pmm.imagepicker.ui.preview.ImagePreviewActivity
import com.pmm.ui.core.activity.BaseActivity
import com.pmm.ui.core.dialog.ProgressDialog
import com.pmm.ui.core.recyclerview.decoration.GridItemDecoration
import com.pmm.ui.core.toolbar.StatusBarManager
import com.pmm.ui.core.StatusNavigationBar
import com.pmm.ui.ktx.*
import com.pmm.ui.widget.ToolBarPro
import kotlinx.android.synthetic.main.activity_imageselector.*
Expand Down Expand Up @@ -88,6 +88,11 @@ internal class ImageSelectorActivity : BaseActivity() {
outState.putString(BUNDLE_CAMERA_PATH, cameraPath)
}

override fun beforeSuperCreate(savedInstanceState: Bundle?) {
StatusNavigationBar.setStatusNavigationBarTransparent(window)
//StatusBar
}

override fun beforeViewAttach(savedInstanceState: Bundle?) {
config = intent.getSerializableExtra(Config.EXTRA_CONFIG) as Config
if (savedInstanceState != null) {
Expand All @@ -105,6 +110,7 @@ internal class ImageSelectorActivity : BaseActivity() {
private fun initView() {
//ToolBar
mToolBar.apply {
this.showStatusView = true
this.navigationIcon {
if (ToolBarPro.GlobalConfig.navigationDrawable == null) {
this.setImageResource(R.drawable.ic_nav_back_24dp)
Expand All @@ -126,14 +132,13 @@ internal class ImageSelectorActivity : BaseActivity() {
}

}
//StatusBar
StatusBarManager.apply {

StatusNavigationBar.apply {
val statusColor = mToolBar.getToolBarBgColor()
this.setColor(window, statusColor)
if (statusColor.isLightColor()) {
this.setLightMode(window)
this.setLightMode(window,true)
} else {
this.setDarkMode(window)
this.setDarkMode(window,true)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import com.pmm.imagepicker.R
import com.pmm.imagepicker.model.LocalMedia
import com.pmm.ui.core.activity.BaseActivity
import com.pmm.ui.core.pager.BaseFragmentStatePagerAdapter
import com.pmm.ui.core.toolbar.StatusBarManager
import com.pmm.ui.core.StatusNavigationBar
import com.pmm.ui.ktx.*
import com.pmm.ui.widget.ToolBarPro
import kotlinx.android.synthetic.main.activity_image_preview.*
Expand Down Expand Up @@ -74,11 +74,11 @@ internal class ImagePreviewActivity : BaseActivity() {
if (newValue) {
mToolBar.visible()
mSelectBarLayout.visible()
StatusBarManager.showStatusBar(window)
StatusNavigationBar.showStatusBar(window)
} else {
mToolBar.gone()
mSelectBarLayout.gone()
StatusBarManager.hideStatusBar(window)
StatusNavigationBar.hideStatusBar(window)
}
}

Expand All @@ -105,6 +105,7 @@ internal class ImagePreviewActivity : BaseActivity() {

private fun initView() {
mToolBar.apply {
this.showStatusView=true
this.navigationIcon {
if (ToolBarPro.GlobalConfig.navigationDrawable == null) {
this.setImageResource(R.drawable.ic_nav_back_24dp)
Expand All @@ -127,13 +128,14 @@ internal class ImagePreviewActivity : BaseActivity() {
}

//StatusBar
StatusBarManager.apply {
StatusNavigationBar.apply {
val statusColor = mToolBar.getToolBarBgColor()
this.setColor(window, statusColor)
//this.setColor(window, statusColor)
this.setStatusNavigationBarTransparent(window)
if (statusColor.isLightColor()) {
this.setLightMode(window)
this.setLightMode(window,true)
} else {
this.setDarkMode(window)
this.setDarkMode(window,true)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import androidx.core.app.SharedElementCallback
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import com.pmm.imagepicker.R
import com.pmm.ui.core.StatusNavigationBar
import com.pmm.ui.core.activity.BaseActivity
import com.pmm.ui.core.pager.BaseFragmentStatePagerAdapter
import com.pmm.ui.interfaces.MyViewPagerChangeListener
Expand Down Expand Up @@ -84,6 +85,10 @@ class ImagePreviewActivity : BaseActivity() {
}
}

override fun beforeSuperCreate(savedInstanceState: Bundle?) {
StatusNavigationBar.setStatusNavigationBarTransparent(window)
}

override fun beforeViewAttach(savedInstanceState: Bundle?) {
super.beforeViewAttach(savedInstanceState)
position = intent.getIntExtra(IMAGE_INDEX, 0)
Expand Down
3 changes: 2 additions & 1 deletion imagepicker/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
<item name="android:windowBackground">@color/colorTransparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentTransitions">true</item>
<!--<item name="android:windowAnimationStyle">@style/ImagePreviewActivityAnim</item>-->
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:navigationBarColor">@color/colorTransparent</item>
</style>

<!--图片预览 ProgressBar-->
Expand Down

0 comments on commit 61d3e1a

Please sign in to comment.