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: 3 additions & 0 deletions .idea/codeStyles/Project.xml

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

6 changes: 6 additions & 0 deletions app/src/main/res/drawable/shape_dots_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

<solid android:color="#FFFFFF"/>
<corners android:radius="15dp"/>
</shape>
64 changes: 35 additions & 29 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
@@ -1,40 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:padding="10dp"
android:orientation="vertical"
android:layout_width="match_parent"
android:background="#505050"
android:layout_height="match_parent"
tools:context=".MainActivity">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#505050"
android:orientation="vertical"
android:padding="10dp"
tools:context=".MainActivity">

<com.denzcoskun.imageslider.ImageSlider
android:id="@+id/image_slider"
android:layout_width="wrap_content"
android:layout_height="300dp"
app:auto_cycle="true"
app:corner_radius="20"
app:period="1000"
app:delay="0"
app:error_image="@drawable/error"
app:selected_dot="@drawable/default_selected_dot"
app:unselected_dot="@drawable/default_unselected_dot" />
android:id="@+id/image_slider"
android:layout_width="wrap_content"
android:layout_height="300dp"
app:auto_cycle="true"
app:corner_radius="20"
app:delay="0"
app:dots_background="@drawable/shape_dots_background"
app:error_image="@drawable/error"
app:period="1000"
app:dots_background_padding="8dp"
app:selected_dot="@drawable/default_selected_dot"
app:show_dots_background="true"
app:unselected_dot="@drawable/default_unselected_dot" />

<LinearLayout android:orientation="vertical"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="10dp">
<Button android:id="@+id/start_button"
android:text="@string/start"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Button>
<Button android:id="@+id/stop_button"
android:text="@string/stop"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Button>

<Button
android:id="@+id/start_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/start"></Button>

<Button
android:id="@+id/stop_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/stop"></Button>
</LinearLayout>

</LinearLayout>
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ class ImageSlider @JvmOverloads constructor(context: Context, attrs: AttributeSe

private var selectedDot = 0
private var unselectedDot = 0
private var dotsBackground = 0
private var dotsBackgroundPadding = 0
private var showDotsBackground = false
private var errorImage = 0
private var placeholder = 0
private var swipeTimer = Timer()
Expand All @@ -53,6 +56,9 @@ class ImageSlider @JvmOverloads constructor(context: Context, attrs: AttributeSe
errorImage = typedArray.getResourceId(R.styleable.ImageSlider_error_image, R.drawable.error)
selectedDot = typedArray.getResourceId(R.styleable.ImageSlider_selected_dot, R.drawable.default_selected_dot)
unselectedDot = typedArray.getResourceId(R.styleable.ImageSlider_unselected_dot, R.drawable.default_unselected_dot)
dotsBackground = typedArray.getResourceId(R.styleable.ImageSlider_dots_background, R.drawable.default_dots_background)
showDotsBackground = typedArray.getBoolean(R.styleable.ImageSlider_show_dots_background, false)
dotsBackgroundPadding = typedArray.getDimension(R.styleable.ImageSlider_dots_background_padding, 0f).toInt()

}

Expand Down Expand Up @@ -83,7 +89,6 @@ class ImageSlider @JvmOverloads constructor(context: Context, attrs: AttributeSe
pagerDots!!.addView(dots!![i], params)
}
dots!![0]!!.setImageDrawable(ContextCompat.getDrawable(context, selectedDot))

viewPager!!.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}

Expand All @@ -97,6 +102,12 @@ class ImageSlider @JvmOverloads constructor(context: Context, attrs: AttributeSe

override fun onPageScrollStateChanged(state: Int) {}
})


if(showDotsBackground){
pagerDots?.setBackgroundResource(dotsBackground)
pagerDots?.setPadding(dotsBackgroundPadding,dotsBackgroundPadding,dotsBackgroundPadding,dotsBackgroundPadding)
}
}

fun startSliding(changeablePeriod: Long = period) {
Expand Down
6 changes: 6 additions & 0 deletions imageslider/src/main/res/drawable/default_dots_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

<solid android:color="#40FFFFFF"/>
<corners android:radius="15dp"/>
</shape>
6 changes: 3 additions & 3 deletions imageslider/src/main/res/layout/image_slider.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@

<LinearLayout
android:id="@+id/pager_dots"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@android:color/transparent"
android:gravity="center_horizontal"
android:layout_centerInParent="true"
android:orientation="horizontal"
android:paddingBottom="10dp" />
android:layout_marginBottom="10dp" />
</RelativeLayout>
3 changes: 3 additions & 0 deletions imageslider/src/main/res/values/attrs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@
<attr name="corner_radius" format="integer" />
<attr name="period" format="integer" />
<attr name="delay" format="integer" />
<attr name="show_dots_background" format="boolean" />
<attr name="dots_background_padding" format="dimension" />
<attr name="placeholder" format="reference" />
<attr name="error_image" format="reference" />
<attr name="selected_dot" format="reference" />
<attr name="unselected_dot" format="reference" />
<attr name="dots_background" format="reference" />
</declare-styleable>
</resources>