From 709692482ab627a2056dc146f0b600a65c650460 Mon Sep 17 00:00:00 2001 From: ottoptj Date: Fri, 31 May 2024 03:49:42 +0300 Subject: [PATCH] Moved animations to a new class and added the settings activity --- app/src/main/AndroidManifest.xml | 19 +- .../java/eu/ottop/yamlauncher/Animations.kt | 143 +++++++++++++ .../eu/ottop/yamlauncher/AppActionMenu.kt | 13 +- .../eu/ottop/yamlauncher/AppMenuAdapter.kt | 2 +- .../yamlauncher/AppMenuLinearLayoutManager.kt | 2 +- .../java/eu/ottop/yamlauncher/AppUtils.kt | 2 +- .../eu/ottop/yamlauncher/BatteryReceiver.kt | 29 +++ .../java/eu/ottop/yamlauncher/MainActivity.kt | 198 +++++------------- .../eu/ottop/yamlauncher/SettingsActivity.kt | 17 ++ app/src/main/res/layout/activity_app_menu.xml | 64 ------ app/src/main/res/layout/activity_main.xml | 89 +++++--- app/src/main/res/layout/activity_settings.xml | 12 ++ app/src/main/res/layout/app_item_layout.xml | 8 +- app/src/main/res/values/colors.xml | 2 + 14 files changed, 342 insertions(+), 258 deletions(-) create mode 100644 app/src/main/java/eu/ottop/yamlauncher/Animations.kt create mode 100644 app/src/main/java/eu/ottop/yamlauncher/BatteryReceiver.kt create mode 100644 app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt delete mode 100644 app/src/main/res/layout/activity_app_menu.xml create mode 100644 app/src/main/res/layout/activity_settings.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e9b802d..d509005 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,8 +2,8 @@ - - + + @@ -14,6 +14,7 @@ + - + android:windowSoftInputMode="adjustResize"> - - - - - \ No newline at end of file diff --git a/app/src/main/java/eu/ottop/yamlauncher/Animations.kt b/app/src/main/java/eu/ottop/yamlauncher/Animations.kt new file mode 100644 index 0000000..be5c36b --- /dev/null +++ b/app/src/main/java/eu/ottop/yamlauncher/Animations.kt @@ -0,0 +1,143 @@ +package eu.ottop.yamlauncher + +import android.animation.Animator +import android.animation.AnimatorListenerAdapter +import android.animation.ArgbEvaluator +import android.animation.ObjectAnimator +import android.app.Activity +import android.view.View +import android.view.WindowManager +import androidx.core.content.ContextCompat +import eu.ottop.yamlauncher.databinding.ActivityMainBinding + +class Animations () { + + fun fadeViewIn(view: View, duration: Long = 100) { + view.fadeIn(duration) + } + + fun fadeViewOut(view: View, duration: Long = 100) { + view.fadeOut(duration) + } + fun showHome(binding: ActivityMainBinding) { + binding.appView.slideOutToBottom() + binding.homeView.fadeIn() + binding.menutitle.visibility = View.GONE + } + + fun showApps(binding: ActivityMainBinding) { + binding.homeView.fadeOut() + binding.appView.slideInFromBottom() + } + + fun backgroundIn(activity: Activity, binding: ActivityMainBinding, duration: Long = 100) { + val originalColor = ContextCompat.getColor(activity, R.color.original_color) + val newColor = ContextCompat.getColor(activity, R.color.new_color) + + val backgroundColorAnimator: ObjectAnimator = ObjectAnimator.ofObject( + binding.root, + "backgroundColor", + ArgbEvaluator(), + originalColor, + newColor + ) + + backgroundColorAnimator.setDuration(duration) + + val window = activity.window + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) + + val statusBarColorAnimator = ObjectAnimator.ofArgb( + window, + "statusBarColor", + originalColor, + newColor + ) + statusBarColorAnimator.setDuration(duration) + backgroundColorAnimator.start() + statusBarColorAnimator.start() + } + + fun backgroundOut(activity: Activity, binding: ActivityMainBinding, duration: Long = 100) { + val originalColor = ContextCompat.getColor(activity, R.color.new_color) + val newColor = ContextCompat.getColor(activity, R.color.original_color) + + val backgroundColorAnimator: ObjectAnimator = ObjectAnimator.ofObject( + binding.root, + "backgroundColor", + ArgbEvaluator(), + originalColor, + newColor + ) + + backgroundColorAnimator.setDuration(duration) + + val window = activity.window + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) + + val statusBarColorAnimator = ObjectAnimator.ofArgb( + window, + "statusBarColor", + originalColor, + newColor + ) + statusBarColorAnimator.setDuration(duration) + backgroundColorAnimator.start() + statusBarColorAnimator.start() + } + private fun View.slideInFromBottom(duration: Long = 100) { + if (visibility != View.VISIBLE) { + translationY = height.toFloat()/5 + scaleY = 1.2f + alpha = 0f + visibility = View.VISIBLE + animate() + .translationY(0f) + .scaleY(1f) + .alpha(1f) + .setDuration(duration) + .setListener(null) + } + } + + private fun View.slideOutToBottom(duration: Long = 50) { + if (visibility == View.VISIBLE) { + animate() + .translationY(height.toFloat() / 5) + .scaleY(1.2f) + .alpha(0f) + .setDuration(duration) + .setListener(object : AnimatorListenerAdapter() { + override fun onAnimationEnd(animation: Animator) { + visibility = View.INVISIBLE + } + }) + } + } + + private fun View.fadeIn(duration: Long = 100) { + if (visibility != View.VISIBLE) { + alpha = 0f + translationY = -height.toFloat()/100 + visibility = View.VISIBLE + animate() + .alpha(1f) + .translationY(0f) + .setDuration(duration) + .setListener(null) + } + } + + private fun View.fadeOut(duration: Long = 50) { + if (visibility == View.VISIBLE) { + animate() + .alpha(0f) + .translationY(-height.toFloat()/100) + .setDuration(duration) + .setListener(object : AnimatorListenerAdapter() { + override fun onAnimationEnd(animation: Animator) { + visibility = View.INVISIBLE + } + })} + } +} \ No newline at end of file diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt b/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt index 0ed304b..3d215bd 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt @@ -26,6 +26,7 @@ class AppActionMenu { private val sharedPreferenceManager = SharedPreferenceManager() private val appUtils = AppUtils() + private val animations = Animations() fun setActionListeners( activity: MainActivity, @@ -52,7 +53,7 @@ class AppActionMenu { ) } - actionMenu.visibility = View.INVISIBLE + animations.fadeViewOut(actionMenu, 100) textView.visibility = View.VISIBLE } @@ -62,14 +63,14 @@ class AppActionMenu { intent.putExtra(Intent.EXTRA_USER, userHandle) activity.startActivity(intent) - actionMenu.visibility = View.INVISIBLE + animations.fadeViewOut(actionMenu, 100) textView.visibility = View.VISIBLE } actionMenu.findViewById(R.id.rename).setOnClickListener { textView.visibility = View.INVISIBLE - editLayout.visibility = View.VISIBLE - actionMenu.visibility = View.INVISIBLE + animations.fadeViewIn(editLayout) + animations.fadeViewOut(actionMenu, 100) val editText = editLayout.findViewById(R.id.app_name_edit) val resetButton = editLayout.findViewById(R.id.reset) @@ -89,7 +90,7 @@ class AppActionMenu { if (bottom - top > oldBottom - oldTop) { editLayout.clearFocus() - editLayout.visibility = View.INVISIBLE + animations.fadeViewOut(editLayout, 100) textView.visibility = View.VISIBLE searchView.visibility = View.VISIBLE } @@ -153,7 +154,7 @@ class AppActionMenu { } actionMenu.findViewById(R.id.close).setOnClickListener { - actionMenu.visibility = View.INVISIBLE + animations.fadeViewOut(actionMenu, 100) textView.visibility = View.VISIBLE } } diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt b/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt index a0001cb..fb07f25 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt @@ -114,7 +114,7 @@ class AppMenuAdapter( holder.textView.compoundDrawablePadding = 0 val appInfo = app.first.activityInfo.applicationInfo - holder.textView.text = sharedPreferenceManager.getAppName(activity, app.first.applicationInfo.packageName,app.second.second, appInfo.loadLabel(holder.itemView.context.packageManager)) + holder.textView.text = sharedPreferenceManager.getAppName(activity, app.first.applicationInfo.packageName,app.second.second, holder.itemView.context.packageManager.getApplicationLabel(appInfo)) holder.editView.findViewById(R.id.app_name_edit).setText(holder.textView.text) holder.textView.visibility = View.VISIBLE } diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppMenuLinearLayoutManager.kt b/app/src/main/java/eu/ottop/yamlauncher/AppMenuLinearLayoutManager.kt index abbd8c6..4c725aa 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppMenuLinearLayoutManager.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppMenuLinearLayoutManager.kt @@ -18,7 +18,7 @@ class AppMenuLinearLayoutManager(private val activity: MainActivity) : LinearLay val overscroll: Int = dy - scrollRange if (overscroll < 0 && firstVisibleItemPosition == 0 && scrollStarted) { - activity.showHome() + activity.backToHome() } if (scrollStarted) { diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppUtils.kt b/app/src/main/java/eu/ottop/yamlauncher/AppUtils.kt index 1cdc778..c457801 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppUtils.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppUtils.kt @@ -21,7 +21,7 @@ class AppUtils { } } return allApps.sortedBy { - sharedPreferenceManager.getAppName(activity, it.first.applicationInfo.packageName,it.second.second, it.first.applicationInfo.loadLabel(activity.packageManager)).toString().lowercase() + sharedPreferenceManager.getAppName(activity, it.first.applicationInfo.packageName,it.second.second, activity.packageManager.getApplicationLabel(it.first.applicationInfo)).toString().lowercase() } diff --git a/app/src/main/java/eu/ottop/yamlauncher/BatteryReceiver.kt b/app/src/main/java/eu/ottop/yamlauncher/BatteryReceiver.kt new file mode 100644 index 0000000..4871e18 --- /dev/null +++ b/app/src/main/java/eu/ottop/yamlauncher/BatteryReceiver.kt @@ -0,0 +1,29 @@ +package eu.ottop.yamlauncher + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.os.BatteryManager +import android.widget.TextView + +class BatteryReceiver(private val textView: TextView) : BroadcastReceiver() { + + override fun onReceive(context: Context?, intent: Intent?) { + intent?.let { + val level = it.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) + val scale = it.getIntExtra(BatteryManager.EXTRA_SCALE, -1) + val batteryPct = level * 100 / scale.toFloat() + textView.text = "${batteryPct.toInt()}%" + } + } + + companion object { + fun register(context: Context, textView: TextView): BatteryReceiver { + val receiver = BatteryReceiver(textView) + val filter = IntentFilter(Intent.ACTION_BATTERY_CHANGED) + context.registerReceiver(receiver, filter) + return receiver + } + } +} \ No newline at end of file diff --git a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt index ccdc078..5fd0196 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt @@ -1,14 +1,11 @@ package eu.ottop.yamlauncher -import android.animation.Animator -import android.animation.AnimatorListenerAdapter -import android.animation.ArgbEvaluator -import android.animation.ObjectAnimator import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.content.pm.LauncherActivityInfo import android.content.pm.LauncherApps +import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper @@ -19,17 +16,15 @@ import android.text.TextWatcher import android.view.GestureDetector import android.view.MotionEvent import android.view.View -import android.view.WindowManager import android.view.inputmethod.InputMethodManager import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView import android.widget.Toast import androidx.activity.OnBackPressedCallback +import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity -import androidx.core.content.ContextCompat import androidx.core.content.res.ResourcesCompat -import androidx.core.view.children import androidx.recyclerview.widget.RecyclerView import eu.ottop.yamlauncher.databinding.ActivityMainBinding import kotlinx.coroutines.CoroutineScope @@ -39,6 +34,8 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import kotlin.math.abs +import java.lang.reflect.Method + class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, AppMenuAdapter.OnShortcutListener, AppMenuAdapter.OnItemLongClickListener { @@ -53,37 +50,53 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap private var job: Job? = null val cameraIntent = Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE) val phoneIntent = Intent(Intent.ACTION_DIAL) + private lateinit var batteryReceiver: BatteryReceiver + private lateinit var batteryTextView: TextView private var appActionMenu = AppActionMenu() private val sharedPreferenceManager = SharedPreferenceManager() private val appUtils = AppUtils() private val appMenuLinearLayoutManager = AppMenuLinearLayoutManager(this@MainActivity) private val appMenuEdgeFactory = AppMenuEdgeFactory(this@MainActivity) + private val animations = Animations() private val swipeThreshold = 100 private val swipeVelocityThreshold = 100 + @SuppressLint("ClickableViewAccessibility") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) setSupportActionBar(null) + launcherApps = getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps gestureDetector = GestureDetector(this, GestureListener()) setupApps() + + batteryTextView = findViewById(R.id.battery_charge) + + batteryReceiver = BatteryReceiver.register(this, batteryTextView) + + binding.homeView.setOnTouchListener { _, event -> + gestureDetector.onTouchEvent(event) + super.onTouchEvent(event) + true // Return true if the touch event is handled + } + onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { - showHome() + backToHome() } }) } override fun onNewIntent(intent: Intent?) { - showHome() + backToHome() super.onNewIntent(intent) } @@ -96,6 +109,7 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap override fun onDestroy() { super.onDestroy() job?.cancel() + unregisterReceiver(batteryReceiver) } override fun onStart() { @@ -109,12 +123,10 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap imm.hideSoftInputFromWindow(binding.root.windowToken, 0) } - override fun onTouchEvent(event: MotionEvent): Boolean { - gestureDetector.onTouchEvent(event) - return super.onTouchEvent(event) - } - inner class GestureListener : GestureDetector.SimpleOnGestureListener() { + + @RequiresApi(Build.VERSION_CODES.TIRAMISU) + @SuppressLint("WrongConstant") override fun onFling( e1: MotionEvent?, e2: MotionEvent, @@ -128,12 +140,16 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap // Detect swipe up if (deltaY < -swipeThreshold && abs(velocityY) > swipeVelocityThreshold) { openAppMenuActivity() - return true } // Detect swipe down else if (deltaY > swipeThreshold && abs(velocityY) > swipeVelocityThreshold) { - return true + + val statusBarService = getSystemService(Context.STATUS_BAR_SERVICE) + val statusBarManager: Class<*> = Class.forName("android.app.StatusBarManager") + val expandMethod: Method = statusBarManager.getMethod("expandNotificationsPanel") + expandMethod.invoke(statusBarService) + } // Detect swipe left @@ -149,6 +165,11 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap return false } + override fun onLongPress(e: MotionEvent) { + super.onLongPress(e) + startActivity(Intent(this@MainActivity, SettingsActivity::class.java)) + } + } private fun setupApps() { @@ -211,7 +232,8 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap textView.setOnLongClickListener { adapter.menuMode = "shortcut" adapter.shortcutTextView = textView - showApps() + binding.menutitle.visibility = View.VISIBLE + toAppMenu() return@setOnLongClickListener true } @@ -304,7 +326,7 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap newFilteredApps.addAll(installedApps) } else { updatedApps.forEach { - val cleanItemText = sharedPreferenceManager.getAppName(this@MainActivity, it.first.applicationInfo.packageName, it.second.second, it.first.applicationInfo.loadLabel(packageManager)).toString().clean() + val cleanItemText = sharedPreferenceManager.getAppName(this@MainActivity, it.first.applicationInfo.packageName, it.second.second, packageManager.getApplicationLabel(it.first.applicationInfo)).toString().clean() if (cleanItemText.contains(cleanQuery, ignoreCase = true)) { newFilteredApps.add(it) } @@ -333,133 +355,25 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap } } - private fun View.slideInFromBottom(duration: Long = 100) { - if (visibility != View.VISIBLE) { - translationY = height.toFloat()/5 - scaleY = 1.2f - alpha = 0f - visibility = View.VISIBLE - animate() - .translationY(0f) - .scaleY(1f) - .alpha(1f) - .setDuration(duration) - .setListener(null) - val originalColor = ContextCompat.getColor(this@MainActivity, R.color.original_color) - val newColor = ContextCompat.getColor(this@MainActivity, R.color.new_color) - - val backgroundColorAnimator: ObjectAnimator = ObjectAnimator.ofObject( - binding.root, - "backgroundColor", - ArgbEvaluator(), - originalColor, - newColor - ) - - backgroundColorAnimator.setDuration(100) - - val window = window - window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) - - val statusBarColorAnimator = ObjectAnimator.ofArgb( - window, - "statusBarColor", - originalColor, - newColor - ) - statusBarColorAnimator.setDuration(100) - backgroundColorAnimator.start() - statusBarColorAnimator.start() - } - - } - - private fun View.slideOutToBottom(duration: Long = 50) { - if (visibility == View.VISIBLE) { - animate() - .translationY(height.toFloat() / 5) - .scaleY(1.2f) - .alpha(0f) - .setDuration(duration) - .setListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator) { - visibility = View.INVISIBLE - } - }) - val handler = Handler(Looper.getMainLooper()) - handler.postDelayed({ - recyclerView.scrollToPosition(0) - }, 150) - - } - } - - private fun View.fadeIn(duration: Long = 100) { - if (visibility != View.VISIBLE) { - alpha = 0f - translationY = -height.toFloat()/100 - visibility = View.VISIBLE - animate() - .alpha(1f) - .translationY(0f) - .setDuration(duration) - .setListener(null) - val originalColor = ContextCompat.getColor(this@MainActivity, R.color.new_color) - val newColor = ContextCompat.getColor(this@MainActivity, R.color.original_color) - - val backgroundColorAnimator: ObjectAnimator = ObjectAnimator.ofObject( - binding.root, - "backgroundColor", - ArgbEvaluator(), - originalColor, - newColor - ) - - backgroundColorAnimator.setDuration(100) - - val window = window - window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) - - val statusBarColorAnimator = ObjectAnimator.ofArgb( - window, - "statusBarColor", - originalColor, - newColor - ) - statusBarColorAnimator.setDuration(100) - backgroundColorAnimator.start() - statusBarColorAnimator.start() - } - } - - private fun View.fadeOut(duration: Long = 50) { - if (visibility == View.VISIBLE) { - animate() - .alpha(0f) - .translationY(-height.toFloat()/100) - .setDuration(duration) - .setListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator) { - visibility = View.INVISIBLE - } - })} - } - - fun showHome() { - binding.appView.slideOutToBottom() - binding.homeView.fadeIn() - } - - private fun showApps() { - binding.homeView.fadeOut() - binding.appView.slideInFromBottom() - } fun openAppMenuActivity() { //AppMenuActivity.start(this, installedApps) { //} adapter.menuMode = "app" - showApps() + toAppMenu() + } + + fun backToHome() { + animations.showHome(binding) + animations.backgroundOut(this@MainActivity, binding) + val handler = Handler(Looper.getMainLooper()) + handler.postDelayed({ + recyclerView.scrollToPosition(0) + }, 150) + } + private fun toAppMenu() { + animations.showApps(binding) + animations.backgroundIn(this@MainActivity, binding) } override fun onItemClick(appInfo: LauncherActivityInfo, userHandle: UserHandle) { @@ -494,7 +408,7 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap } } sharedPreferenceManager.setShortcut(this, shortcutView, appInfo.applicationInfo.packageName, userProfile) - showHome() + backToHome() } @@ -508,7 +422,7 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap position: Int ) { textView.visibility = View.INVISIBLE - actionMenuLayout.visibility = View.VISIBLE + animations.fadeViewIn(actionMenuLayout) val mainActivity = launcherApps.getActivityList(appInfo.applicationInfo.packageName, userHandle) .firstOrNull() diff --git a/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt new file mode 100644 index 0000000..894877f --- /dev/null +++ b/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt @@ -0,0 +1,17 @@ +package eu.ottop.yamlauncher + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import eu.ottop.yamlauncher.databinding.ActivityMainBinding +import eu.ottop.yamlauncher.databinding.ActivitySettingsBinding + +class SettingsActivity : AppCompatActivity() { + + private lateinit var binding: ActivitySettingsBinding + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivitySettingsBinding.inflate(layoutInflater) + setContentView(binding.root) + window.statusBarColor = getColor(R.color.settings_bg) + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_app_menu.xml b/app/src/main/res/layout/activity_app_menu.xml deleted file mode 100644 index f4667d0..0000000 --- a/app/src/main/res/layout/activity_app_menu.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index fd13bb3..304047a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -55,7 +55,7 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_gravity="bottom" - android:layout_marginHorizontal="40dp" + android:layout_marginHorizontal="32dp" android:layout_marginTop="20dp" android:layout_marginBottom="40dp" android:layout_weight="0.1" @@ -79,18 +79,49 @@ android:layout_gravity="fill_vertical" android:fitsSystemWindows="true" android:gravity="fill_vertical" - android:orientation="vertical"> + android:orientation="vertical" + android:visibility="visible"> + android:textSize="68sp" /> + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/app_item_layout.xml b/app/src/main/res/layout/app_item_layout.xml index 1dde6f5..4bb04c8 100644 --- a/app/src/main/res/layout/app_item_layout.xml +++ b/app/src/main/res/layout/app_item_layout.xml @@ -25,9 +25,9 @@ android:elegantTextHeight="false" android:imeOptions="actionDone" android:includeFontPadding="true" - android:paddingLeft="40dp" + android:paddingLeft="20dp" android:paddingTop="10dp" - android:paddingRight="40dp" + android:paddingRight="20dp" android:paddingBottom="10dp" android:selectAllOnFocus="true" android:singleLine="true" @@ -55,9 +55,9 @@ android:layout_height="wrap_content" android:clickable="false" android:gravity="start" - android:paddingLeft="40dp" + android:paddingLeft="20dp" android:paddingTop="20dp" - android:paddingRight="40dp" + android:paddingRight="20dp" android:paddingBottom="20dp" android:textAppearance="@android:style/TextAppearance.DeviceDefault" android:textColor="#F3F3F3" diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 2067e43..247e0b5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -6,4 +6,6 @@ #00000000 #3F000000 + #88000000 + \ No newline at end of file