Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .idea/.gitignore

This file was deleted.

62 changes: 57 additions & 5 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/render.experimental.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 31 additions & 14 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
plugins {
id 'com.android.application'
}
id 'kotlin-android'

}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
android {
compileSdk 31

Expand All @@ -11,36 +15,49 @@ android {
targetSdk 31
versionCode 1
versionName "1.0"

vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled false
minifyEnabled = false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
viewBinding{
enabled = true
}
buildFeatures {
viewBinding true
}
}

dependencies {
implementation 'com.google.android.material:material:<version>'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'

implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
implementation 'androidx.navigation:navigation-fragment:2.3.5'
implementation 'androidx.navigation:navigation-ui:2.3.5'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:label="@string/Geometry"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Geometry">
Expand Down
22 changes: 22 additions & 0 deletions app/src/main/java/com/example/geometry/BottomSheet.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.example.geometry

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.Navigation.findNavController
import androidx.navigation.findNavController
import androidx.navigation.ui.NavigationUI
import androidx.navigation.ui.NavigationUI.setupWithNavController
import androidx.navigation.ui.setupWithNavController
import com.google.android.material.bottomnavigation.BottomNavigationView

class BottomSheet : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.bottom_sheet
)
val navView = findViewById<BottomNavigationView>(R.id.bottom_navigation_view)
val navController = findNavController(R.id.navigation_host_fragment)

navView.setupWithNavController(navController)
}
}
7 changes: 7 additions & 0 deletions app/src/main/java/com/example/geometry/ButtonActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.example.geometry;

import androidx.appcompat.app.AppCompatActivity;

public class ButtonActivity extends AppCompatActivity {

}
68 changes: 68 additions & 0 deletions app/src/main/java/com/example/geometry/Draw2D.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package com.example.geometry

import android.content.Context
import android.content.res.Resources
import android.graphics.*
import android.view.View
import android.graphics.BitmapFactory

class Draw2D(context: Context?) : View(context) {

private val paint: Paint = Paint()
private val rect: Rect = Rect()
val res: Resources = this.resources
private var bitmap: Bitmap = BitmapFactory.decodeResource(res, R.drawable.ic_cursor)

override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)

paint.apply {
style = Paint.Style.FILL // стиль Заливка
color = Color.WHITE // закрашиваем холст белым цветом
}
canvas?.drawPaint(paint)

// Солнце
paint.apply {
isAntiAlias = true
color = Color.YELLOW
}
canvas?.drawCircle(width - 30F, 30F, 25F, paint)

// Лужайка
paint.color = Color.GREEN
canvas?.drawRect(0F, height - 30F, width.toFloat(), height.toFloat(), paint)

// Текст над лужайкой
paint.apply {
color = Color.BLUE
style = Paint.Style.FILL
isAntiAlias = true
textSize = 32F
}
canvas?.drawText("Лужайка только для котов", 30F, height - 32F, paint)

// Лучик солнца
val x = width - 170F
val y = 190F

paint.apply {
color = Color.GRAY
style = Paint.Style.FILL
textSize = 27F
}

val beam = "Лучик солнца!"

canvas?.save()
canvas?.rotate(-45F, x + rect.exactCenterX(), y + rect.exactCenterY())
canvas?.drawText(beam, x, y, paint)

canvas?.restore()

canvas?.drawBitmap(
bitmap, (width - bitmap.width).toFloat(), (height - bitmap.height
- 10).toFloat(), paint
)
}
}
37 changes: 0 additions & 37 deletions app/src/main/java/com/example/geometry/MainActivity.java

This file was deleted.

44 changes: 44 additions & 0 deletions app/src/main/java/com/example/geometry/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.example.geometry

import android.content.res.ColorStateList
import android.database.CrossProcessCursor
import android.os.Bundle
import android.view.View
import android.widget.ImageButton
import android.widget.TextView
import com.google.android.material.bottomnavigation.BottomNavigationView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.widget.ImageViewCompat
import androidx.navigation.findNavController
import androidx.navigation.ui.setupWithNavController
import com.example.geometry.databinding.ActivityMainBinding
import com.google.android.material.bottomsheet.BottomSheetBehavior
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.widget.ImageViewCompat.setImageTintList
import androidx.core.widget.TextViewCompat


class MainActivity: AppCompatActivity() {

private lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)

val llBottomSheet = findViewById<CoordinatorLayout>(R.id.bottom_sheet)

val bottomSheetBehavior = BottomSheetBehavior.from(llBottomSheet)
bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
bottomSheetBehavior.isHideable = false


val navView = findViewById<BottomNavigationView>(R.id.bottom_navigation_view)
val navController = findNavController(R.id.navigation_host_fragment)
navView.setupWithNavController(navController)
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.example.geometry.ui.camera

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

class CameraViewModel : ViewModel() {
// TODO: Implement the ViewModel
private val _text = MutableLiveData<String>().apply {
value = "This is camera Fragment"
}
val text: LiveData<String> = _text
}
26 changes: 26 additions & 0 deletions app/src/main/java/com/example/geometry/ui/camera/camera.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.example.geometry.ui.camera

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.example.geometry.R

class camera : Fragment() {


companion object {
fun newInstance() = camera()
}

private lateinit var viewModel: CameraViewModel

override fun onCreateView(

inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_camera, container, false)
}
}
Loading