整理套件
This commit is contained in:
parent
dc996dda8c
commit
dd3b2f5f11
@ -17,11 +17,11 @@
|
|||||||
android:theme="@style/Theme.EasyWindowTest"
|
android:theme="@style/Theme.EasyWindowTest"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
<activity
|
<activity
|
||||||
android:name=".SettingActivity"
|
android:name=".ui.SettingActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:screenOrientation="landscape" />
|
android:screenOrientation="landscape" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".ui.MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:screenOrientation="landscape">
|
android:screenOrientation="landscape">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package com.ray650128.floatingwindow
|
package com.ray650128.floatingwindow.ui
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
|
import com.ray650128.floatingwindow.utils.FloatingWindowHelperUtils
|
||||||
import com.ray650128.floatingwindow.databinding.ActivityMainBinding
|
import com.ray650128.floatingwindow.databinding.ActivityMainBinding
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
@ -23,8 +24,8 @@ class MainActivity : AppCompatActivity() {
|
|||||||
if (!Settings.canDrawOverlays(mContext)) {
|
if (!Settings.canDrawOverlays(mContext)) {
|
||||||
binding.btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
|
binding.btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
|
||||||
binding.btnStep2.isEnabled = Settings.canDrawOverlays(mContext)
|
binding.btnStep2.isEnabled = Settings.canDrawOverlays(mContext)
|
||||||
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing
|
binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing
|
binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
return@registerForActivityResult
|
return@registerForActivityResult
|
||||||
}
|
}
|
||||||
showOverlayWindow()
|
showOverlayWindow()
|
||||||
@ -63,23 +64,23 @@ class MainActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
binding.apply {
|
binding.apply {
|
||||||
btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
|
btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
|
||||||
btnStep2.isEnabled = Settings.canDrawOverlays(mContext) && !FloatingWindowHelper.isShowing
|
btnStep2.isEnabled = Settings.canDrawOverlays(mContext) && !FloatingWindowHelperUtils.isShowing
|
||||||
btnStep3.isEnabled = FloatingWindowHelper.isShowing
|
btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
btnSetting.isEnabled = FloatingWindowHelper.isShowing
|
btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showOverlayWindow() {
|
private fun showOverlayWindow() {
|
||||||
FloatingWindowHelper.show()
|
FloatingWindowHelperUtils.show()
|
||||||
binding.btnStep2.isEnabled = !FloatingWindowHelper.isShowing
|
binding.btnStep2.isEnabled = !FloatingWindowHelperUtils.isShowing
|
||||||
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing
|
binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing
|
binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun hideOverlayWindow() {
|
private fun hideOverlayWindow() {
|
||||||
FloatingWindowHelper.hide()
|
FloatingWindowHelperUtils.hide()
|
||||||
binding.btnStep2.isEnabled = !FloatingWindowHelper.isShowing
|
binding.btnStep2.isEnabled = !FloatingWindowHelperUtils.isShowing
|
||||||
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing
|
binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing
|
binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,10 +1,12 @@
|
|||||||
package com.ray650128.floatingwindow
|
package com.ray650128.floatingwindow.ui
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.AdapterView
|
import android.widget.AdapterView
|
||||||
import androidx.core.widget.addTextChangedListener
|
import androidx.core.widget.addTextChangedListener
|
||||||
|
import com.ray650128.floatingwindow.utils.FloatingWindowHelperUtils
|
||||||
|
import com.ray650128.floatingwindow.utils.PreferenceUtil
|
||||||
import com.ray650128.floatingwindow.databinding.ActivitySettingBinding
|
import com.ray650128.floatingwindow.databinding.ActivitySettingBinding
|
||||||
|
|
||||||
class SettingActivity : AppCompatActivity() {
|
class SettingActivity : AppCompatActivity() {
|
||||||
@ -14,9 +16,9 @@ class SettingActivity : AppCompatActivity() {
|
|||||||
private var xOffset = 0
|
private var xOffset = 0
|
||||||
private var yOffset = 0
|
private var yOffset = 0
|
||||||
|
|
||||||
private var windowGravity = FloatingWindowHelper.GravityType.TOP_LEFT
|
private var windowGravity = FloatingWindowHelperUtils.GravityType.TOP_LEFT
|
||||||
|
|
||||||
private var windowIcon = FloatingWindowHelper.IconType.CHICKEN
|
private var windowIcon = FloatingWindowHelperUtils.IconType.CHICKEN
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
@ -25,16 +27,16 @@ class SettingActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
xOffset = PreferenceUtil.xOffset
|
xOffset = PreferenceUtil.xOffset
|
||||||
yOffset = PreferenceUtil.yOffset
|
yOffset = PreferenceUtil.yOffset
|
||||||
windowGravity = FloatingWindowHelper.GravityType.fromInt(PreferenceUtil.gravity)
|
windowGravity = FloatingWindowHelperUtils.GravityType.fromInt(PreferenceUtil.gravity)
|
||||||
windowIcon = FloatingWindowHelper.IconType.fromInt(PreferenceUtil.icon)
|
windowIcon = FloatingWindowHelperUtils.IconType.fromInt(PreferenceUtil.icon)
|
||||||
|
|
||||||
binding.apply {
|
binding.apply {
|
||||||
spGravity.apply {
|
spGravity.apply {
|
||||||
setSelection(PreferenceUtil.gravity)
|
setSelection(PreferenceUtil.gravity)
|
||||||
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
||||||
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
||||||
windowGravity = FloatingWindowHelper.GravityType.fromInt(position)
|
windowGravity = FloatingWindowHelperUtils.GravityType.fromInt(position)
|
||||||
FloatingWindowHelper.setGravity(windowGravity)
|
FloatingWindowHelperUtils.setGravity(windowGravity)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
||||||
@ -42,11 +44,11 @@ class SettingActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
spIcon.apply {
|
spIcon.apply {
|
||||||
setSelection(FloatingWindowHelper.IconType.getIndex(PreferenceUtil.icon) )
|
setSelection(FloatingWindowHelperUtils.IconType.getIndex(PreferenceUtil.icon))
|
||||||
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
||||||
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
||||||
windowIcon = FloatingWindowHelper.IconType.fromIndex(position)
|
windowIcon = FloatingWindowHelperUtils.IconType.fromIndex(position)
|
||||||
FloatingWindowHelper.setIcon(windowIcon)
|
FloatingWindowHelperUtils.setIcon(windowIcon)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
override fun onNothingSelected(parent: AdapterView<*>?) {}
|
||||||
@ -58,7 +60,7 @@ class SettingActivity : AppCompatActivity() {
|
|||||||
addTextChangedListener {
|
addTextChangedListener {
|
||||||
if (it.isNullOrEmpty()) return@addTextChangedListener
|
if (it.isNullOrEmpty()) return@addTextChangedListener
|
||||||
xOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
|
xOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
|
||||||
FloatingWindowHelper.setXOffset(xOffset)
|
FloatingWindowHelperUtils.setXOffset(xOffset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +69,7 @@ class SettingActivity : AppCompatActivity() {
|
|||||||
addTextChangedListener {
|
addTextChangedListener {
|
||||||
if (it.isNullOrEmpty()) return@addTextChangedListener
|
if (it.isNullOrEmpty()) return@addTextChangedListener
|
||||||
yOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
|
yOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
|
||||||
FloatingWindowHelper.setYOffset(yOffset)
|
FloatingWindowHelperUtils.setYOffset(yOffset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,10 +82,16 @@ class SettingActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
btnCancel.setOnClickListener {
|
btnCancel.setOnClickListener {
|
||||||
FloatingWindowHelper.setXOffset(PreferenceUtil.xOffset)
|
FloatingWindowHelperUtils.setXOffset(PreferenceUtil.xOffset)
|
||||||
FloatingWindowHelper.setYOffset(PreferenceUtil.yOffset)
|
FloatingWindowHelperUtils.setYOffset(PreferenceUtil.yOffset)
|
||||||
FloatingWindowHelper.setGravity(FloatingWindowHelper.GravityType.fromInt(PreferenceUtil.gravity))
|
FloatingWindowHelperUtils.setGravity(
|
||||||
FloatingWindowHelper.setIcon(FloatingWindowHelper.IconType.fromInt(PreferenceUtil.icon))
|
FloatingWindowHelperUtils.GravityType.fromInt(
|
||||||
|
PreferenceUtil.gravity
|
||||||
|
)
|
||||||
|
)
|
||||||
|
FloatingWindowHelperUtils.setIcon(
|
||||||
|
FloatingWindowHelperUtils.IconType.fromInt(
|
||||||
|
PreferenceUtil.icon))
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,11 +1,13 @@
|
|||||||
package com.ray650128.floatingwindow
|
package com.ray650128.floatingwindow.utils
|
||||||
|
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import com.hjq.window.EasyWindow
|
import com.hjq.window.EasyWindow
|
||||||
|
import com.ray650128.floatingwindow.MyApp
|
||||||
|
import com.ray650128.floatingwindow.R
|
||||||
|
|
||||||
object FloatingWindowHelper {
|
object FloatingWindowHelperUtils {
|
||||||
|
|
||||||
private var _isShowing: Boolean = false
|
private var _isShowing: Boolean = false
|
||||||
val isShowing: Boolean
|
val isShowing: Boolean
|
||||||
@ -1,6 +1,8 @@
|
|||||||
package com.ray650128.floatingwindow
|
package com.ray650128.floatingwindow.utils
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import com.ray650128.floatingwindow.MyApp
|
||||||
|
import com.ray650128.floatingwindow.R
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shared Preferences 工具類別
|
* Shared Preferences 工具類別
|
||||||
5
app/src/main/res/drawable/ic_value_add.xml
Normal file
5
app/src/main/res/drawable/ic_value_add.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<vector android:height="24dp" android:tint="#000000"
|
||||||
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
|
||||||
|
</vector>
|
||||||
5
app/src/main/res/drawable/ic_value_minus.xml
Normal file
5
app/src/main/res/drawable/ic_value_minus.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<vector android:height="24dp" android:tint="#000000"
|
||||||
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M19,13H5v-2h14v2z"/>
|
||||||
|
</vector>
|
||||||
@ -4,7 +4,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context=".MainActivity">
|
tools:context=".ui.MainActivity">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/imageView"
|
android:id="@+id/imageView"
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context=".SettingActivity">
|
tools:context=".ui.SettingActivity">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/imageView2"
|
android:id="@+id/imageView2"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user