diff --git a/app/build.gradle b/app/build.gradle index fa1124d..9d3ba0a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,6 +16,10 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } + buildFeatures { + viewBinding true + } + buildTypes { release { minifyEnabled false diff --git a/app/src/main/java/com/itis/androidlabproject/HomeFragment.kt b/app/src/main/java/com/itis/androidlabproject/HomeFragment.kt new file mode 100644 index 0000000..0f1d6aa --- /dev/null +++ b/app/src/main/java/com/itis/androidlabproject/HomeFragment.kt @@ -0,0 +1,11 @@ +package com.itis.androidlabproject + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment + +class HomeFragment : Fragment(R.layout.fragment_home) { + +} diff --git a/app/src/main/java/com/itis/androidlabproject/LikeFragment.kt b/app/src/main/java/com/itis/androidlabproject/LikeFragment.kt new file mode 100644 index 0000000..10abac9 --- /dev/null +++ b/app/src/main/java/com/itis/androidlabproject/LikeFragment.kt @@ -0,0 +1,6 @@ +package com.itis.androidlabproject + +import androidx.fragment.app.Fragment + +class LikeFragment : Fragment(R.layout.fragment_like) { +} diff --git a/app/src/main/java/com/itis/androidlabproject/MainActivity.kt b/app/src/main/java/com/itis/androidlabproject/MainActivity.kt index d85e6eb..ab23486 100644 --- a/app/src/main/java/com/itis/androidlabproject/MainActivity.kt +++ b/app/src/main/java/com/itis/androidlabproject/MainActivity.kt @@ -2,10 +2,55 @@ package com.itis.androidlabproject import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.provider.ContactsContract +import androidx.fragment.app.Fragment +import com.itis.androidlabproject.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { + private lateinit var binding: ActivityMainBinding + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) + binding = ActivityMainBinding.inflate(layoutInflater).also { + setContentView(it.root) + } + + supportFragmentManager.beginTransaction().run { + add(R.id.frame_layout, HomeFragment()) + addToBackStack("home") + commit() + } + + with(binding) { + navbarBtnHome.setOnClickListener { + replaceFragment(HomeFragment()) + } + navbarBtnSearch.setOnClickListener { + replaceFragment(SearchFragment()) + } + navbarBtnReels.setOnClickListener { + replaceFragment(ReelsFragment()) + } + navbarBtnLike.setOnClickListener { + replaceFragment(LikeFragment()) + } + navbarBtnProfile.setOnClickListener { + replaceFragment(ProfileFragment()) + } + } + } + + private fun replaceFragment(fragment: Fragment) { + supportFragmentManager.beginTransaction().run { + addToBackStack(fragment.javaClass.toString()) + setCustomAnimations( + R.anim.enter_from_right, + R.anim.exit_to_left, + R.anim.enter_from_left, + R.anim.exit_to_right + ) + commit() + replace(R.id.frame_layout, fragment) + } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/itis/androidlabproject/ProfileFragment.kt b/app/src/main/java/com/itis/androidlabproject/ProfileFragment.kt new file mode 100644 index 0000000..6d23dc9 --- /dev/null +++ b/app/src/main/java/com/itis/androidlabproject/ProfileFragment.kt @@ -0,0 +1,7 @@ +package com.itis.androidlabproject + +import androidx.fragment.app.Fragment + +class ProfileFragment :Fragment(R.layout.fragment_profile){ + +} diff --git a/app/src/main/java/com/itis/androidlabproject/ReelsFragment.kt b/app/src/main/java/com/itis/androidlabproject/ReelsFragment.kt new file mode 100644 index 0000000..268a53c --- /dev/null +++ b/app/src/main/java/com/itis/androidlabproject/ReelsFragment.kt @@ -0,0 +1,7 @@ +package com.itis.androidlabproject + +import androidx.fragment.app.Fragment + +class ReelsFragment : Fragment(R.layout.fragment_reels) { + +} diff --git a/app/src/main/java/com/itis/androidlabproject/SearchFragment.kt b/app/src/main/java/com/itis/androidlabproject/SearchFragment.kt new file mode 100644 index 0000000..2e682c0 --- /dev/null +++ b/app/src/main/java/com/itis/androidlabproject/SearchFragment.kt @@ -0,0 +1,7 @@ +package com.itis.androidlabproject + +import androidx.fragment.app.Fragment + +class SearchFragment : Fragment(R.layout.fragment_search) { + +} diff --git a/app/src/main/res/anim/enter_from_left.xml b/app/src/main/res/anim/enter_from_left.xml new file mode 100644 index 0000000..0826b75 --- /dev/null +++ b/app/src/main/res/anim/enter_from_left.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app/src/main/res/anim/enter_from_right.xml b/app/src/main/res/anim/enter_from_right.xml new file mode 100644 index 0000000..d424f42 --- /dev/null +++ b/app/src/main/res/anim/enter_from_right.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app/src/main/res/anim/exit_to_left.xml b/app/src/main/res/anim/exit_to_left.xml new file mode 100644 index 0000000..9c2ad05 --- /dev/null +++ b/app/src/main/res/anim/exit_to_left.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app/src/main/res/anim/exit_to_right.xml b/app/src/main/res/anim/exit_to_right.xml new file mode 100644 index 0000000..7becffd --- /dev/null +++ b/app/src/main/res/anim/exit_to_right.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app/src/main/res/drawable/ic_add.xml b/app/src/main/res/drawable/ic_add.xml new file mode 100644 index 0000000..eb23254 --- /dev/null +++ b/app/src/main/res/drawable/ic_add.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_all_media.xml b/app/src/main/res/drawable/ic_all_media.xml new file mode 100644 index 0000000..374e8f4 --- /dev/null +++ b/app/src/main/res/drawable/ic_all_media.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_avatarka.xml b/app/src/main/res/drawable/ic_avatarka.xml new file mode 100644 index 0000000..3481c02 --- /dev/null +++ b/app/src/main/res/drawable/ic_avatarka.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_home.xml b/app/src/main/res/drawable/ic_home.xml new file mode 100644 index 0000000..11b964a --- /dev/null +++ b/app/src/main/res/drawable/ic_home.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_like.xml b/app/src/main/res/drawable/ic_like.xml new file mode 100644 index 0000000..7ca45e7 --- /dev/null +++ b/app/src/main/res/drawable/ic_like.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_more.xml b/app/src/main/res/drawable/ic_more.xml new file mode 100644 index 0000000..34b93ec --- /dev/null +++ b/app/src/main/res/drawable/ic_more.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_reels.xml b/app/src/main/res/drawable/ic_reels.xml new file mode 100644 index 0000000..13186de --- /dev/null +++ b/app/src/main/res/drawable/ic_reels.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml new file mode 100644 index 0000000..07b76d6 --- /dev/null +++ b/app/src/main/res/drawable/ic_search.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 4fa45b0..32ac741 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,13 +6,60 @@ android:layout_height="match_parent" tools:context=".MainActivity"> - + + + app:layout_constraintEnd_toStartOf="@id/navbar_btn_search" + app:layout_constraintHorizontal_chainStyle="spread" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/frame_layout" /> + + + + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..876bbdd --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/app/src/main/res/layout/fragment_like.xml b/app/src/main/res/layout/fragment_like.xml new file mode 100644 index 0000000..96390c0 --- /dev/null +++ b/app/src/main/res/layout/fragment_like.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml new file mode 100644 index 0000000..f6b75d7 --- /dev/null +++ b/app/src/main/res/layout/fragment_profile.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/app/src/main/res/layout/fragment_reels.xml b/app/src/main/res/layout/fragment_reels.xml new file mode 100644 index 0000000..7c9fc0b --- /dev/null +++ b/app/src/main/res/layout/fragment_reels.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml new file mode 100644 index 0000000..a6c766a --- /dev/null +++ b/app/src/main/res/layout/fragment_search.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/build.gradle b/build.gradle index 12f1d4c..0a80f8a 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath "com.android.tools.build:gradle:7.0.2" + classpath 'com.android.tools.build:gradle:7.0.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30" // NOTE: Do not place your application dependencies here; they belong