diff --git a/.gitignore b/.gitignore index 56624dc..ac1871a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,4 @@ /captures .externalNativeBuild .cxx -gradle.properties gradlew.bat diff --git a/README.md b/README.md index 6f371e6..7cf81dd 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ allprojects { Add the dependency ``` dependencies { - implementation 'com.github.bardss:PaintableVectorView:1.0.0' + implementation 'com.github.bardss:PaintableVectorView:1.0.4' } ``` @@ -40,18 +40,39 @@ val paintableView = PaintableVectorView( layout.addView(paintableView) ``` +Or add in xml and set attributes: +```xml + +``` Set other paint type: ```kotlin paintableView.paintType = PaintType.PAINT_GROUP ``` +```xml +app:paintType="GROUP" +``` +```xml +app:paintType="PATH" +``` Set other paint color: ```kotlin paintableView.paintColor = resources.getColor(R.color.blue) ``` +```xml +app:paintColor="@color/blue" +``` + Reset layers color in PaintableVectorView: ```kotlin diff --git a/app/build.gradle b/app/build.gradle index b3c8794..af20330 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,14 +3,13 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { - compileSdkVersion 29 - buildToolsVersion "29.0.2" + compileSdkVersion 32 defaultConfig { applicationId "com.jakubaniola.vectorpainterexample" minSdkVersion 21 - targetSdkVersion 29 + targetSdkVersion 32 versionCode 1 - versionName "1.0" + versionName "1.0.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -24,11 +23,11 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'androidx.appcompat:appcompat:1.1.0' - implementation 'androidx.core:core-ktx:1.0.2' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test.ext:junit:1.1.0' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + implementation 'androidx.appcompat:appcompat:1.5.0' + implementation 'androidx.core:core-ktx:1.8.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation project(':paintablevectorview') } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d12e2ab..9e65d83 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,13 +9,21 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - + + + \ No newline at end of file diff --git a/app/src/main/java/com/jakubaniola/paintablevectorviewapp/InitializedInCodeActivity.kt b/app/src/main/java/com/jakubaniola/paintablevectorviewapp/InitializedInCodeActivity.kt new file mode 100644 index 0000000..1a9b722 --- /dev/null +++ b/app/src/main/java/com/jakubaniola/paintablevectorviewapp/InitializedInCodeActivity.kt @@ -0,0 +1,66 @@ +package com.jakubaniola.paintablevectorviewapp + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.jakubaniola.paintablevectorview.PaintType +import com.jakubaniola.paintablevectorview.PaintableVectorView +import kotlinx.android.synthetic.main.activity_initialized_in_code.* +import kotlinx.android.synthetic.main.activity_main.* + +class InitializedInCodeActivity : AppCompatActivity() { + + private lateinit var paintableView: PaintableVectorView + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_initialized_in_code) + } + + override fun onStart() { + super.onStart() + paintableView = PaintableVectorView( + this, + R.drawable.ic_car, + PaintType.PAINT_GROUP, + resources.getColor(R.color.blue) + ) + setupPaintableView() + setupResetButton() + setupPaintTypeButtons() + setupPaintColorButtons() + } + + private fun setupResetButton() { + resetColorsButton.setOnClickListener { + paintableView.resetColors() + } + } + + private fun setupPaintTypeButtons() { + drawPathButton.setOnClickListener { + paintableView.paintType = PaintType.PAINT_PATH + } + drawGroupButton.setOnClickListener { + paintableView.paintType = PaintType.PAINT_GROUP + } + } + + private fun setupPaintColorButtons() { + paintBlueButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.blue) + } + paintRedButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.red) + } + paintGreenButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.green) + } + paintYellowButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.yellow) + } + } + + private fun setupPaintableView() { + paintableBoxLayout.addView(paintableView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jakubaniola/paintablevectorviewapp/InitializedInXmlActivity.kt b/app/src/main/java/com/jakubaniola/paintablevectorviewapp/InitializedInXmlActivity.kt new file mode 100644 index 0000000..1f123ad --- /dev/null +++ b/app/src/main/java/com/jakubaniola/paintablevectorviewapp/InitializedInXmlActivity.kt @@ -0,0 +1,53 @@ +package com.jakubaniola.paintablevectorviewapp + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.jakubaniola.paintablevectorview.PaintType +import com.jakubaniola.paintablevectorview.PaintableVectorView +import kotlinx.android.synthetic.main.activity_initialized_in_xml.* +import kotlinx.android.synthetic.main.activity_main.* + +class InitializedInXmlActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_initialized_in_xml) + } + + override fun onStart() { + super.onStart() + setupResetButton() + setupPaintTypeButtons() + setupPaintColorButtons() + } + + private fun setupResetButton() { + resetColorsButton.setOnClickListener { + paintableView.resetColors() + } + } + + private fun setupPaintTypeButtons() { + drawPathButton.setOnClickListener { + paintableView.paintType = PaintType.PAINT_PATH + } + drawGroupButton.setOnClickListener { + paintableView.paintType = PaintType.PAINT_GROUP + } + } + + private fun setupPaintColorButtons() { + paintBlueButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.blue) + } + paintRedButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.red) + } + paintGreenButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.green) + } + paintYellowButton.setOnClickListener { + paintableView.paintColor = resources.getColor(R.color.yellow) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jakubaniola/paintablevectorviewapp/MainActivity.kt b/app/src/main/java/com/jakubaniola/paintablevectorviewapp/MainActivity.kt index 6040a25..58bad5e 100644 --- a/app/src/main/java/com/jakubaniola/paintablevectorviewapp/MainActivity.kt +++ b/app/src/main/java/com/jakubaniola/paintablevectorviewapp/MainActivity.kt @@ -1,15 +1,12 @@ package com.jakubaniola.paintablevectorviewapp +import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity -import com.jakubaniola.paintablevectorview.PaintType -import com.jakubaniola.paintablevectorview.PaintableVectorView import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { - private lateinit var paintableView: PaintableVectorView - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -17,49 +14,16 @@ class MainActivity : AppCompatActivity() { override fun onStart() { super.onStart() - paintableView = PaintableVectorView( - this, - R.drawable.ic_car, - PaintType.PAINT_GROUP, - resources.getColor(R.color.blue) - ) - setupPaintableView() - setupResetButton() - setupPaintTypeButtons() - setupPaintColorButtons() - } - - private fun setupResetButton() { - resetColorsButton.setOnClickListener { - paintableView.resetColors() + codeButton.setOnClickListener { + startActivity( + Intent(this, InitializedInCodeActivity::class.java) + ) } - } - - private fun setupPaintTypeButtons() { - drawPathButton.setOnClickListener { - paintableView.paintType = PaintType.PAINT_PATH - } - drawGroupButton.setOnClickListener { - paintableView.paintType = PaintType.PAINT_GROUP + xmlButton.setOnClickListener { + startActivity( + Intent(this, InitializedInXmlActivity::class.java) + ) } } - private fun setupPaintColorButtons() { - paintBlueButton.setOnClickListener { - paintableView.paintColor = resources.getColor(R.color.blue) - } - paintRedButton.setOnClickListener { - paintableView.paintColor = resources.getColor(R.color.red) - } - paintGreenButton.setOnClickListener { - paintableView.paintColor = resources.getColor(R.color.green) - } - paintYellowButton.setOnClickListener { - paintableView.paintColor = resources.getColor(R.color.yellow) - } - } - - private fun setupPaintableView() { - paintableBoxLayout.addView(paintableView) - } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_initialized_in_code.xml b/app/src/main/res/layout/activity_initialized_in_code.xml new file mode 100644 index 0000000..41d2575 --- /dev/null +++ b/app/src/main/res/layout/activity_initialized_in_code.xml @@ -0,0 +1,120 @@ + + + + + + + + + +