From 3a6537bc3060d818d522e33f03321fd8aba1c0d9 Mon Sep 17 00:00:00 2001 From: TAMARA JERINIC Date: Mon, 7 Nov 2022 02:16:20 +0100 Subject: Omogućen pregled fotografija učitanih iz galerije. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/src/main/AndroidManifest.xml | 9 ++ .../brzodolokacije/Activities/ActivityAddPost.kt | 122 +++++++++++++++++++-- .../Activities/ActivityCapturePost.kt | 11 ++ .../brzodolokacije/Fragments/FragmentAddNew.kt | 13 ++- .../main/res/drawable/ic_baseline_arrow_back.xml | 5 + .../res/drawable/ic_baseline_arrow_forward.xml | 5 + .../app/src/main/res/layout/activity_add_post.xml | 69 +++++++++--- .../src/main/res/layout/activity_capture_post.xml | 9 ++ .../app/src/main/res/layout/fragment_add_new.xml | 22 ++-- 9 files changed, 227 insertions(+), 38 deletions(-) create mode 100644 Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityCapturePost.kt create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_back.xml create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_forward.xml create mode 100644 Client/BrzoDoLokacije/app/src/main/res/layout/activity_capture_post.xml (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml index 00ee960..2af585f 100644 --- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml +++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml @@ -4,9 +4,11 @@ + + + + + diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt index 0ada26a..c81e7fe 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt @@ -1,14 +1,19 @@ package com.example.brzodolokacije.Activities import android.Manifest +import android.content.Context import android.content.Intent import android.content.pm.PackageManager +import android.database.Cursor +import android.graphics.BitmapFactory import android.net.Uri import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.provider.MediaStore +import android.provider.MediaStore.Audio.Media import android.view.View -import android.widget.Button -import android.widget.ImageView +import android.view.ViewGroup +import android.widget.* import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import com.example.brzodolokacije.Models.PostImage @@ -19,18 +24,33 @@ import java.net.URI class ActivityAddPost : AppCompatActivity() { private lateinit var uploadFromGallery: Button private lateinit var takePhoto: Button - private lateinit var image:ImageView - private lateinit var uploadedImages:ArrayList - - var paths = mutableListOf() - + private lateinit var showNextImage:Button + private lateinit var showPreviousImage:Button + private lateinit var switcher: ImageSwitcher + private var uploadedImages:ArrayList?=null + //private var paths :ArrayList?=null + private var place=0; override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_add_post) + Toast.makeText( + applicationContext, "Add new ", Toast.LENGTH_LONG + ).show(); + uploadedImages= ArrayList() + + //paths= ArrayList() uploadFromGallery=findViewById(R.id.btnActivityAddPostUploadImages) as Button takePhoto=findViewById(R.id.btnActivityAddPosTakeImage) as Button - image=findViewById(R.id.image) as ImageView + showNextImage=findViewById(R.id.nextImage) as Button + showPreviousImage=findViewById(R.id.previousImage) as Button + switcher=findViewById(R.id.switcher) as ImageSwitcher + + switcher?.setFactory{ + val imgView = ImageView(applicationContext) + imgView.scaleType = ImageView.ScaleType.CENTER_CROP + imgView.setPadding(8, 8, 8, 8) + imgView} //dodavanje iz galerije uploadFromGallery.setOnClickListener{ @@ -45,9 +65,9 @@ class ActivityAddPost : AppCompatActivity() { intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true) intent.action = Intent.ACTION_GET_CONTENT intent.type="image/*" - startActivityForResult(Intent.createChooser(intent,"Izaberi fotografije"),100) + startActivityForResult(Intent.createChooser(intent,"Izaberi fotografije"),0) } - +/* //fotografisanje takePhoto.setOnClickListener { //provera da li je odobrena upotreba kamere @@ -56,12 +76,38 @@ class ActivityAddPost : AppCompatActivity() { } } +*/ + //prikaz ucitanih + // + showPreviousImage.setOnClickListener{ + if(place>0){ + place=place-1 + switcher.setImageURI(uploadedImages!![place]) + + } + else{ + showPreviousImage.isEnabled=false + } + } + + + showNextImage.setOnClickListener{ + if(place(MediaStore.Images.Thumbnails.DATA).toTypedArray() + rs= contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,cols,null,null,null)!! + imagesGrid.adapter=ImageAdapter(applicationContext) + } + + inner class ImageAdapter:BaseAdapter{ + lateinit var context: Context + + constructor(contect: Context){ + this.context=context + } + + override fun getCount(): Int { + return rs.count + } + + override fun getItem(p0: Int): Any { + return p0 + } + + override fun getItemId(p0: Int): Long { + return p0 as Long } + override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View { + //prikaz slike u GridView-u + + //generisanje jednog imageView-a + var imageView=ImageView(context) + rs.moveToPosition(p0) + var path=rs.getString(0) + var bitmap=BitmapFactory.decodeFile(path) + + imageView.setImageBitmap(bitmap) + imageView.layoutParams=AbsListView.LayoutParams(300,300) + return imageView + + } + + }*/ + } \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityCapturePost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityCapturePost.kt new file mode 100644 index 0000000..8d639a8 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityCapturePost.kt @@ -0,0 +1,11 @@ +package com.example.brzodolokacije.Activities + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle + +class ActivityCapturePost : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_capture_post) + } +} \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentAddNew.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentAddNew.kt index b1b257b..8eaa469 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentAddNew.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentAddNew.kt @@ -1,12 +1,17 @@ package com.example.brzodolokacije.Fragments +import android.content.Intent import android.os.Bundle +import android.util.Log import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button +import android.widget.Toast import androidx.fragment.app.FragmentTransaction +import com.example.brzodolokacije.Activities.ActivityAddPost +import com.example.brzodolokacije.Activities.ActivityForgottenPassword import com.example.brzodolokacije.R // TODO: Rename parameter arguments, choose names that match @@ -36,11 +41,17 @@ class FragmentAddNew : Fragment() { addNewPost.setOnClickListener{ + Toast.makeText( + activity, "Add new post", Toast.LENGTH_LONG + ).show(); + val intent = Intent (getActivity(), ActivityAddPost::class.java) + getActivity()?.startActivity(intent) +/* var fm: FragmentTransaction =childFragmentManager.beginTransaction() fm.replace(R.id.flFragmentAddNewFragmentContainer, FragmentAddPost()) - fm.commit() + fm.commit()*/ } diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_back.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_back.xml new file mode 100644 index 0000000..d9b7ee0 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_back.xml @@ -0,0 +1,5 @@ + + + diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_forward.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_forward.xml new file mode 100644 index 0000000..80b796f --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_arrow_forward.xml @@ -0,0 +1,5 @@ + + + diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml index da38262..5727fb1 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml @@ -6,34 +6,71 @@ android:layout_height="match_parent" tools:context=".Activities.ActivityAddPost"> - -