diff --git a/app/build.gradle b/app/build.gradle index ec11348..540ae9a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -85,5 +85,7 @@ dependencies { implementation 'com.miguelcatalan:materialsearchview:1.4.0' + implementation 'me.relex:circleindicator:1.2.2@aar' + } diff --git a/app/src/main/java/me/gilo/wc/MainActivity.kt b/app/src/main/java/me/gilo/wc/MainActivity.kt index 1226505..b45a9ab 100644 --- a/app/src/main/java/me/gilo/wc/MainActivity.kt +++ b/app/src/main/java/me/gilo/wc/MainActivity.kt @@ -14,6 +14,12 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) startActivity(Intent(baseContext, HomeActivity::class.java)) + +// val intent = Intent(baseContext, ProductActivity::class.java) +// intent.putExtra("productId", 63) +// +// startActivity(intent) + finish() } diff --git a/app/src/main/java/me/gilo/wc/adapter/ImagePagerAdapter.kt b/app/src/main/java/me/gilo/wc/adapter/ImagePagerAdapter.kt new file mode 100644 index 0000000..9881c57 --- /dev/null +++ b/app/src/main/java/me/gilo/wc/adapter/ImagePagerAdapter.kt @@ -0,0 +1,48 @@ +package me.gilo.wc.adapter + + +import android.content.Context +import android.support.v4.view.PagerAdapter +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import com.squareup.picasso.Picasso +import me.gilo.wc.R +import me.gilo.woodroid.models.Image + + +class ImagePagerAdapter(val context: Context, private val images: List) : PagerAdapter() { + + + override fun instantiateItem(collection: ViewGroup, position: Int): View { + val inflater = LayoutInflater.from(context) + + val layout = inflater.inflate(R.layout.single_product_image, collection, false) + val ivImage = layout.findViewById(R.id.ivImage) + + val image = images[position] + if (image != null) { + Picasso + .with(context) + .load(image!!.src) + .into(ivImage) + } + + collection.addView(layout) + return layout + } + + override fun destroyItem(container: ViewGroup, position: Int, view: Any) { + container.removeView(view as View) + } + + override fun getCount(): Int { + return this.images.size + } + + override fun isViewFromObject(view: View, obj: Any): Boolean { + return view == obj + } + +} \ No newline at end of file diff --git a/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt b/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt index f44d512..051bc95 100644 --- a/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt +++ b/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt @@ -3,10 +3,10 @@ package me.gilo.wc.ui.product import android.os.Bundle import android.text.Html import android.view.View -import com.squareup.picasso.Picasso import kotlinx.android.synthetic.main.activity_product.* import kotlinx.android.synthetic.main.content_product.* import me.gilo.wc.R +import me.gilo.wc.adapter.ImagePagerAdapter import me.gilo.wc.common.BaseActivity import me.gilo.wc.common.Status import me.gilo.wc.ui.state.ProgressDialogFragment @@ -93,7 +93,10 @@ class ProductActivity : BaseActivity() { tvDescription.text = Html.fromHtml(product.description) if (product.images != null && product.images.isNotEmpty()){ - Picasso.with(baseContext).load(product.images[0].src).into(ivImage) + vpImages.offscreenPageLimit = product.images.size + vpImages.adapter = ImagePagerAdapter(baseContext, product.images) + + indicator.setViewPager(vpImages) } if (product.isOn_sale) { @@ -101,7 +104,7 @@ class ProductActivity : BaseActivity() { tvOnSale.visibility = View.VISIBLE }else{ - tvCallToAction.text = Html.fromHtml(product.price_html) + tvCallToAction.text = Html.fromHtml(product.price_html).trim() tvOnSale.visibility = View.GONE } } diff --git a/app/src/main/res/layout/content_product.xml b/app/src/main/res/layout/content_product.xml index a579c32..9ffc84a 100644 --- a/app/src/main/res/layout/content_product.xml +++ b/app/src/main/res/layout/content_product.xml @@ -1,104 +1,109 @@ - - + android:layout_height="match_parent" + android:orientation="vertical"> + + + + + + + + + + + + android:layout_margin="16dp" + android:layout_height="wrap_content" + android:background="@drawable/rect_white" + android:elevation="2dp" + android:orientation="vertical" + tools:ignore="MissingPrefix"> - + android:layout_marginLeft="16dp" + android:layout_marginTop="16dp" + android:layout_marginRight="16dp" + android:gravity="left" + android:textColor="@color/text" + android:textSize="18sp"/> - + - - - - - - - - - - - + - - - - + + diff --git a/app/src/main/res/layout/single_product_image.xml b/app/src/main/res/layout/single_product_image.xml new file mode 100644 index 0000000..ec29329 --- /dev/null +++ b/app/src/main/res/layout/single_product_image.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/woodroid/build.gradle b/woodroid/build.gradle index b758ef7..1efcb03 100644 --- a/woodroid/build.gradle +++ b/woodroid/build.gradle @@ -52,4 +52,5 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.0.0-RC1' + }