mirror of
https://github.com/SimpleMobileTools/Simple-Draw.git
synced 2025-06-05 21:59:17 +02:00
updating commons with some theming improvements
This commit is contained in:
@ -63,6 +63,6 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:faa6a972c2'
|
implementation 'com.github.SimpleMobileTools:Simple-Commons:c05de1687e'
|
||||||
implementation "androidx.print:print:1.0.0"
|
implementation "androidx.print:print:1.0.0"
|
||||||
}
|
}
|
||||||
|
@ -10,8 +10,6 @@ import android.graphics.drawable.GradientDrawable
|
|||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.MediaStore
|
import android.provider.MediaStore
|
||||||
import android.view.Menu
|
|
||||||
import android.view.MenuItem
|
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import android.webkit.MimeTypeMap
|
import android.webkit.MimeTypeMap
|
||||||
import android.widget.SeekBar
|
import android.widget.SeekBar
|
||||||
@ -72,6 +70,8 @@ class MainActivity : SimpleActivity(), CanvasListener {
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_main)
|
setContentView(R.layout.activity_main)
|
||||||
|
setupOptionsMenu()
|
||||||
|
refreshMenuItems()
|
||||||
appLaunched(BuildConfig.APPLICATION_ID)
|
appLaunched(BuildConfig.APPLICATION_ID)
|
||||||
|
|
||||||
eyeDropper = EyeDropper(my_canvas) { selectedColor ->
|
eyeDropper = EyeDropper(my_canvas) { selectedColor ->
|
||||||
@ -113,6 +113,7 @@ class MainActivity : SimpleActivity(), CanvasListener {
|
|||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
setupToolbar(main_toolbar)
|
||||||
|
|
||||||
val isShowBrushSizeEnabled = config.showBrushSize
|
val isShowBrushSizeEnabled = config.showBrushSize
|
||||||
stroke_width_bar.beVisibleIf(isShowBrushSizeEnabled)
|
stroke_width_bar.beVisibleIf(isShowBrushSizeEnabled)
|
||||||
@ -128,7 +129,7 @@ class MainActivity : SimpleActivity(), CanvasListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
requestedOrientation = if (config.forcePortraitMode) ActivityInfo.SCREEN_ORIENTATION_PORTRAIT else ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
|
requestedOrientation = if (config.forcePortraitMode) ActivityInfo.SCREEN_ORIENTATION_PORTRAIT else ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
|
||||||
invalidateOptionsMenu()
|
refreshMenuItems()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
@ -145,21 +146,18 @@ class MainActivity : SimpleActivity(), CanvasListener {
|
|||||||
my_canvas.mListener = null
|
my_canvas.mListener = null
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
private fun refreshMenuItems() {
|
||||||
menuInflater.inflate(R.menu.menu, menu)
|
main_toolbar.menu.apply {
|
||||||
menu.apply {
|
|
||||||
findItem(R.id.menu_confirm).isVisible = isImageCaptureIntent || isEditIntent
|
findItem(R.id.menu_confirm).isVisible = isImageCaptureIntent || isEditIntent
|
||||||
findItem(R.id.menu_save).isVisible = !isImageCaptureIntent && !isEditIntent
|
findItem(R.id.menu_save).isVisible = !isImageCaptureIntent && !isEditIntent
|
||||||
findItem(R.id.menu_share).isVisible = !isImageCaptureIntent && !isEditIntent
|
findItem(R.id.menu_share).isVisible = !isImageCaptureIntent && !isEditIntent
|
||||||
findItem(R.id.open_file).isVisible = !isEditIntent
|
findItem(R.id.open_file).isVisible = !isEditIntent
|
||||||
}
|
}
|
||||||
|
|
||||||
updateMenuItemColors(menu)
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
private fun setupOptionsMenu() {
|
||||||
when (item.itemId) {
|
main_toolbar.setOnMenuItemClickListener { menuItem ->
|
||||||
|
when (menuItem.itemId) {
|
||||||
R.id.menu_confirm -> confirmImage()
|
R.id.menu_confirm -> confirmImage()
|
||||||
R.id.menu_save -> trySaveImage()
|
R.id.menu_save -> trySaveImage()
|
||||||
R.id.menu_share -> shareImage()
|
R.id.menu_share -> shareImage()
|
||||||
@ -169,9 +167,10 @@ class MainActivity : SimpleActivity(), CanvasListener {
|
|||||||
R.id.menu_print -> printImage()
|
R.id.menu_print -> printImage()
|
||||||
R.id.settings -> launchSettings()
|
R.id.settings -> launchSettings()
|
||||||
R.id.about -> launchAbout()
|
R.id.about -> launchAbout()
|
||||||
else -> return super.onOptionsItemSelected(item)
|
else -> return@setOnMenuItemClickListener false
|
||||||
|
}
|
||||||
|
return@setOnMenuItemClickListener true
|
||||||
}
|
}
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBackPressed() {
|
override fun onBackPressed() {
|
||||||
@ -261,7 +260,7 @@ class MainActivity : SimpleActivity(), CanvasListener {
|
|||||||
isImageCaptureIntent = true
|
isImageCaptureIntent = true
|
||||||
intentUri = output
|
intentUri = output
|
||||||
defaultPath = output.path!!
|
defaultPath = output.path!!
|
||||||
invalidateOptionsMenu()
|
refreshMenuItems()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.simplemobiletools.draw.pro.activities
|
package com.simplemobiletools.draw.pro.activities
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
|
import com.simplemobiletools.commons.helpers.NavigationIcon
|
||||||
import com.simplemobiletools.draw.pro.R
|
import com.simplemobiletools.draw.pro.R
|
||||||
import com.simplemobiletools.draw.pro.extensions.config
|
import com.simplemobiletools.draw.pro.extensions.config
|
||||||
import kotlinx.android.synthetic.main.activity_settings.*
|
import kotlinx.android.synthetic.main.activity_settings.*
|
||||||
@ -16,6 +16,7 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
setupToolbar(settings_toolbar, NavigationIcon.Arrow)
|
||||||
|
|
||||||
setupCustomizeColors()
|
setupCustomizeColors()
|
||||||
setupUseEnglish()
|
setupUseEnglish()
|
||||||
@ -24,7 +25,6 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
setupAllowZoomingCanvas()
|
setupAllowZoomingCanvas()
|
||||||
setupForcePortraitMode()
|
setupForcePortraitMode()
|
||||||
updateTextColors(settings_holder)
|
updateTextColors(settings_holder)
|
||||||
invalidateOptionsMenu()
|
|
||||||
|
|
||||||
arrayOf(settings_color_customization_label, settings_general_settings_label).forEach {
|
arrayOf(settings_color_customization_label, settings_general_settings_label).forEach {
|
||||||
it.setTextColor(getProperPrimaryColor())
|
it.setTextColor(getProperPrimaryColor())
|
||||||
@ -35,11 +35,6 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
|
||||||
updateMenuItemColors(menu)
|
|
||||||
return super.onCreateOptionsMenu(menu)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupCustomizeColors() {
|
private fun setupCustomizeColors() {
|
||||||
settings_customize_colors_holder.setOnClickListener {
|
settings_customize_colors_holder.setOnClickListener {
|
||||||
startCustomizationActivity()
|
startCustomizationActivity()
|
||||||
|
@ -12,8 +12,10 @@ import com.simplemobiletools.draw.pro.helpers.SVG
|
|||||||
import kotlinx.android.synthetic.main.dialog_save_image.view.*
|
import kotlinx.android.synthetic.main.dialog_save_image.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class SaveImageDialog(val activity: SimpleActivity, val defaultPath: String, val defaultFilename: String, val defaultExtension: String,
|
class SaveImageDialog(
|
||||||
val hidePath: Boolean, callback: (fullPath: String, filename: String, extension: String) -> Unit) {
|
val activity: SimpleActivity, val defaultPath: String, val defaultFilename: String, val defaultExtension: String,
|
||||||
|
val hidePath: Boolean, callback: (fullPath: String, filename: String, extension: String) -> Unit
|
||||||
|
) {
|
||||||
private val SIMPLE_DRAW = "Simple Draw"
|
private val SIMPLE_DRAW = "Simple Draw"
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@ -21,11 +23,13 @@ class SaveImageDialog(val activity: SimpleActivity, val defaultPath: String, val
|
|||||||
var folder = if (defaultPath.isEmpty()) "${activity.internalStoragePath}/$SIMPLE_DRAW" else defaultPath
|
var folder = if (defaultPath.isEmpty()) "${activity.internalStoragePath}/$SIMPLE_DRAW" else defaultPath
|
||||||
val view = activity.layoutInflater.inflate(R.layout.dialog_save_image, null).apply {
|
val view = activity.layoutInflater.inflate(R.layout.dialog_save_image, null).apply {
|
||||||
save_image_filename.setText(initialFilename)
|
save_image_filename.setText(initialFilename)
|
||||||
save_image_radio_group.check(when (defaultExtension) {
|
save_image_radio_group.check(
|
||||||
|
when (defaultExtension) {
|
||||||
JPG -> R.id.save_image_radio_jpg
|
JPG -> R.id.save_image_radio_jpg
|
||||||
SVG -> R.id.save_image_radio_svg
|
SVG -> R.id.save_image_radio_svg
|
||||||
else -> R.id.save_image_radio_png
|
else -> R.id.save_image_radio_png
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
if (hidePath) {
|
if (hidePath) {
|
||||||
save_image_path_label.beGone()
|
save_image_path_label.beGone()
|
||||||
@ -41,13 +45,13 @@ class SaveImageDialog(val activity: SimpleActivity, val defaultPath: String, val
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertDialog.Builder(activity)
|
activity.getAlertDialogBuilder()
|
||||||
.setPositiveButton(R.string.ok, null)
|
.setPositiveButton(R.string.ok, null)
|
||||||
.setNegativeButton(R.string.cancel, null)
|
.setNegativeButton(R.string.cancel, null)
|
||||||
.create().apply {
|
.apply {
|
||||||
activity.setupDialogStuff(view, this, R.string.save_as) {
|
activity.setupDialogStuff(view, this, R.string.save_as) { alertDialog ->
|
||||||
showKeyboard(view.save_image_filename)
|
alertDialog.showKeyboard(view.save_image_filename)
|
||||||
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
|
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
|
||||||
val filename = view.save_image_filename.value
|
val filename = view.save_image_filename.value
|
||||||
if (filename.isEmpty()) {
|
if (filename.isEmpty()) {
|
||||||
activity.toast(R.string.filename_cannot_be_empty)
|
activity.toast(R.string.filename_cannot_be_empty)
|
||||||
@ -70,11 +74,11 @@ class SaveImageDialog(val activity: SimpleActivity, val defaultPath: String, val
|
|||||||
val title = String.format(activity.getString(R.string.file_already_exists_overwrite), newPath.getFilenameFromPath())
|
val title = String.format(activity.getString(R.string.file_already_exists_overwrite), newPath.getFilenameFromPath())
|
||||||
ConfirmationDialog(activity, title) {
|
ConfirmationDialog(activity, title) {
|
||||||
callback(newPath, filename, extension)
|
callback(newPath, filename, extension)
|
||||||
dismiss()
|
alertDialog.dismiss()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
callback(newPath, filename, extension)
|
callback(newPath, filename, extension)
|
||||||
dismiss()
|
alertDialog.dismiss()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,35 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:id="@+id/main_coordinator"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
android:id="@+id/main_app_bar_layout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/main_toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="@color/color_primary"
|
||||||
|
app:menu="@menu/menu"
|
||||||
|
app:title="@string/app_launcher_name"
|
||||||
|
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||||
|
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyScrollView
|
||||||
|
android:id="@+id/main_scrollview"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:fillViewport="true"
|
||||||
|
android:scrollbars="none"
|
||||||
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
android:id="@+id/main_holder"
|
android:id="@+id/main_holder"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
@ -73,3 +103,5 @@
|
|||||||
android:progress="50" />
|
android:progress="50" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
</com.simplemobiletools.commons.views.MyScrollView>
|
||||||
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
@ -1,9 +1,33 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:id="@+id/settings_scrollview"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:id="@+id/settings_coordinator"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
android:id="@+id/settings_app_bar_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/settings_toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="@color/color_primary"
|
||||||
|
app:title="@string/settings"
|
||||||
|
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||||
|
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:id="@+id/settings_nested_scrollview"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:fillViewport="true"
|
||||||
|
android:scrollbars="none"
|
||||||
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/settings_holder"
|
android:id="@+id/settings_holder"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -138,4 +162,5 @@
|
|||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
@ -31,14 +31,22 @@
|
|||||||
android:paddingEnd="@dimen/small_margin"
|
android:paddingEnd="@dimen/small_margin"
|
||||||
android:paddingBottom="@dimen/activity_margin" />
|
android:paddingBottom="@dimen/activity_margin" />
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyEditText
|
<com.simplemobiletools.commons.views.MyTextInputLayout
|
||||||
|
android:id="@+id/save_image_filename_hint"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/activity_margin"
|
||||||
|
android:layout_marginBottom="@dimen/medium_margin"
|
||||||
|
android:hint="@string/filename">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/save_image_filename"
|
android:id="@+id/save_image_filename"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/activity_margin"
|
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textCursorDrawable="@null"
|
android:textSize="@dimen/bigger_text_size" />
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
</com.simplemobiletools.commons.views.MyTextInputLayout>
|
||||||
|
|
||||||
<RadioGroup
|
<RadioGroup
|
||||||
android:id="@+id/save_image_radio_group"
|
android:id="@+id/save_image_radio_group"
|
||||||
|
Reference in New Issue
Block a user