Skip to content

Commit 98a1cfd

Browse files
committed
Update README.md
1 parent 077c40f commit 98a1cfd

File tree

5 files changed

+95
-19
lines changed

5 files changed

+95
-19
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Donation.Builder(this).build()
3838
### Custom title, message and logo
3939
If you want to use custom logo, title and description, you can use below builder.
4040
```kotlin
41-
Donation.Builder(this@MainActivity)
41+
Donation.Builder(this)
4242
.logo(R.drawable.my_custom_logo)
4343
.title("Donate")
4444
.description("Donation lorem impsum...")
@@ -47,19 +47,19 @@ Donation.Builder(this@MainActivity)
4747

4848

4949
### Spanned title and message, and custom logo
50-
If you want to show fancy title and description, you can use our *DonationText wrapper to make a spannable string.
50+
If you want to show fancy title and description, you can use our *DonationText* wrapper to make a spannable string.
5151
```kotlin
52-
Donation.Builder(this@MainActivity)
52+
Donation.Builder(this)
5353
.logo(R.drawable.my_custom_logo)
5454
.titleSpan(DonationText(SpannableString.valueOf("Donate")))
5555
.descriptionSpan(DonationText(SpannableString.valueOf("Donation lorem impsum...")))
5656
.build()
5757
```
5858

5959
### Custom Action Buttons
60-
By default it has, AHBAP, AFAD and Turk Kizilayi buttons. If you want to add custom buttons, you can use our *DonateButton to make a your button.
60+
By default it has, AHBAP, AFAD and Turk Kizilayi buttons. If you want to add custom buttons, you can use our *DonateButton* to make a your button.
6161
```kotlin
62-
Donation.Builder(this@MainActivity)
62+
Donation.Builder(this)
6363
.logo(R.drawable.my_custom_logo)
6464
.titleSpan(DonationText(SpannableString.valueOf("Donate")))
6565
.descriptionSpan(DonationText(SpannableString.valueOf("Donation lorem impsum...")))

app/src/main/java/com/mobven/sample/MainActivity.kt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package com.mobven.sample
22

33
import android.os.Bundle
4+
import android.text.SpannableString
45
import androidx.appcompat.app.AppCompatActivity
56
import com.example.sample.databinding.ActivityMainBinding
67
import com.mobven.donation.Donation
8+
import com.mobven.donation.R
9+
import com.mobven.donation.helper.DonationText
10+
import com.mobven.donation.model.DonateButton
711

812
class MainActivity : AppCompatActivity() {
913

@@ -18,6 +22,41 @@ class MainActivity : AppCompatActivity() {
1822
btnDefault.setOnClickListener {
1923
Donation.Builder(this@MainActivity).build()
2024
}
25+
26+
Donation.Builder(this@MainActivity)
27+
.logo(R.drawable.kizilay)
28+
.titleSpan(DonationText(SpannableString.valueOf("Donate")))
29+
.descriptionSpan(DonationText(SpannableString.valueOf("Donation lorem impsum...")))
30+
.donationButtons(
31+
mutableListOf(
32+
DonateButton(
33+
icon = R.drawable.ahbap_logo,
34+
link = "https://ahbap.org/bagisci-ol",
35+
strokeColor = R.color.color_green_ahbap,
36+
backgroundColor = R.color.color_bg_ahbap
37+
),
38+
DonateButton(
39+
icon = R.drawable.afad_logo,
40+
link = "https://www.afad.gov.tr/depremkampanyasi2",
41+
strokeColor = R.color.color_green_afad,
42+
backgroundColor = R.color.color_bg_afad
43+
),
44+
DonateButton(
45+
label = "TÜRK KIZILAY",
46+
icon = R.drawable.kizilay,
47+
link = "https://www.kizilay.org.tr/bagis",
48+
strokeColor = R.color.permanent_geranium_lake,
49+
textColor = R.color.color_kizilay_text,
50+
backgroundColor = R.color.color_bg_kizilay
51+
),
52+
DonateButton(
53+
label = "BİREYSEL BAĞIŞ",
54+
link = "#bagisyap"
55+
)
56+
)
57+
)
58+
.build()
59+
2160
}
2261
}
2362
}

app/src/main/res/layout/activity_main.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,16 @@
2020
app:layout_constraintStart_toStartOf="parent"
2121
app:layout_constraintTop_toTopOf="parent" />
2222

23+
<com.google.android.material.button.MaterialButton
24+
android:id="@+id/btn_custom_title_message_logo"
25+
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
26+
android:layout_width="match_parent"
27+
android:layout_height="wrap_content"
28+
android:text="Custom Title, Message and Logo"
29+
android:textAllCaps="false"
30+
app:layout_constraintBottom_toBottomOf="parent"
31+
app:layout_constraintEnd_toEndOf="parent"
32+
app:layout_constraintStart_toStartOf="parent"
33+
app:layout_constraintTop_toTopOf="parent" />
34+
2335
</LinearLayout>

donation/src/main/java/com/mobven/donation/DonateActivity.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,18 @@ class DonateActivity : AppCompatActivity() {
3131
with(viewBinding) {
3232

3333
ivLogo.setImageResource(it.logo)
34-
tvDonateTitle.text = it.title?.spannableString
35-
tvDonateDescription.text = it.description?.spannableString
36-
34+
it.title?.let {
35+
tvDonateTitle.text = it
36+
}
37+
it.titleSpannable?.let {
38+
tvDonateTitle.text = it.spannableString
39+
}
40+
it.description?.let {
41+
tvDonateDescription.text = it
42+
}
43+
it.descriptionSpannable?.let {
44+
tvDonateDescription.text = it.spannableString
45+
}
3746
rvDonateButtons.adapter =
3847
DonateButtonAdapter(it.donationButtonList) { donateButton ->
3948
showUrlOnCustomTabs(

donation/src/main/java/com/mobven/donation/Donation.kt

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,32 @@ import kotlinx.parcelize.Parcelize
1414
@Parcelize
1515
class Donation(
1616
@DrawableRes val logo: Int,
17-
val title: DonationText?,
18-
val description: DonationText?,
17+
val title: String?,
18+
val description: String?,
19+
val titleSpannable: DonationText?,
20+
val descriptionSpannable: DonationText?,
1921
val donationButtonList: List<DonateButton>
2022
) : Parcelable {
2123

2224
data class Builder(
2325
val context: Context,
2426
private var logo: Int = R.drawable.default_logo,
25-
private var title: DonationText? = null,
26-
private var description: DonationText? = null,
27+
private var title: String? = null,
28+
private var description: String? = null,
29+
private var titleSpannable: DonationText? = null,
30+
private var descriptionSpannable: DonationText? = null,
2731
private val donationButtonList: MutableList<DonateButton> = mutableListOf()
2832
) {
2933
fun logo(logo: Int) = apply { this.logo = logo }
3034

31-
fun title(title: DonationText?) = apply { this.title = title }
35+
fun title(title: String?) = apply { this.title = title }
3236

33-
fun description(description: DonationText?) = apply { this.description = description }
37+
fun description(description: String?) = apply { this.description = description }
38+
39+
fun titleSpan(title: DonationText?) = apply { this.titleSpannable = title }
40+
41+
fun descriptionSpan(description: DonationText?) =
42+
apply { this.descriptionSpannable = description }
3443

3544
fun donationButtons(donationButtonList: List<DonateButton>) =
3645
apply { this.donationButtonList.addAll(donationButtonList) }
@@ -63,15 +72,15 @@ class Donation(
6372
)
6473

6574
fun build() {
66-
if (title == null) {
67-
title = DonationText(
75+
if (titleSpannable == null) {
76+
titleSpannable = DonationText(
6877
SpannableString(context.getString(R.string.default_title))
6978
.setColor(context.color(R.color.fuzzy_wuzzy), 12, 24)
7079
.bold(12, 24)
7180
)
7281
}
73-
if (description == null) {
74-
description = DonationText(
82+
if (descriptionSpannable == null) {
83+
descriptionSpannable = DonationText(
7584
SpannableString(context.getString(R.string.default_description))
7685
.bold(13, 25)
7786
)
@@ -82,7 +91,14 @@ class Donation(
8291
context.startActivity(
8392
DonateActivity.callingIntent(
8493
context,
85-
Donation(logo, title, description, donationButtonList)
94+
Donation(
95+
logo,
96+
title,
97+
description,
98+
titleSpannable,
99+
descriptionSpannable,
100+
donationButtonList
101+
)
86102
)
87103
)
88104
}

0 commit comments

Comments
 (0)