Skip to content

Commit d3ad7bf

Browse files
My Dialog Library
1 parent 2471737 commit d3ad7bf

6 files changed

Lines changed: 168 additions & 12 deletions

File tree

.idea/misc.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

DialogGit/src/main/java/com/azamovhud/dialoggit/classes/DateAndTimeDialog.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
package com.example.dialoggit.classes
1+
package com.azamovhud.dialoggit.classes
22

33
import android.app.Dialog
4-
import android.graphics.Color
54
import android.os.Bundle
65
import android.view.View
76
import android.widget.DatePicker
@@ -10,7 +9,7 @@ import android.widget.TimePicker
109
import androidx.appcompat.app.AlertDialog
1110
import androidx.appcompat.app.AppCompatDialogFragment
1211
import androidx.core.content.ContextCompat
13-
import com.example.dialoggit.R
12+
import com.azamovhud.dialoggit.R
1413
import com.google.android.material.tabs.TabLayout
1514

1615
class DateAndTimeDialog : AppCompatDialogFragment() {

app/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ android {
2929
kotlinOptions {
3030
jvmTarget = '1.8'
3131
}
32+
buildFeatures{
33+
viewBinding true
34+
}
3235
}
3336

3437
dependencies {
@@ -37,6 +40,7 @@ dependencies {
3740
implementation 'androidx.appcompat:appcompat:1.6.1'
3841
implementation 'com.google.android.material:material:1.8.0'
3942
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
43+
implementation project(path: ':DialogGit')
4044
testImplementation 'junit:junit:4.13.2'
4145
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
4246
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
Lines changed: 119 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,129 @@
11
package com.azamovhudstc.dialoglibrary
22

3+
import android.os.Build
34
import androidx.appcompat.app.AppCompatActivity
45
import android.os.Bundle
6+
import android.widget.DatePicker
7+
import android.widget.TimePicker
8+
import android.widget.Toast
9+
import androidx.annotation.RequiresApi
10+
import com.azamovhud.dialoggit.classes.BasicDialog
11+
import com.azamovhud.dialoggit.classes.CheckBoxDialog
12+
import com.azamovhud.dialoggit.classes.ColorDialog
13+
import com.azamovhud.dialoggit.classes.WifiDialog
14+
import com.azamovhudstc.dialoglibrary.databinding.ActivityMainBinding
15+
import com.azamovhud.dialoggit.classes.DateAndTimeDialog
516

617
class MainActivity : AppCompatActivity() {
18+
lateinit var binding: ActivityMainBinding
719
override fun onCreate(savedInstanceState: Bundle?) {
820
super.onCreate(savedInstanceState)
9-
setContentView(R.layout.activity_main)
21+
binding = ActivityMainBinding.inflate(layoutInflater)
22+
setContentView(binding.root)
23+
24+
binding.basicDialog.setOnClickListener {
25+
basicDialog()
26+
}
27+
28+
binding.dateDialog.setOnClickListener {
29+
dateDialog()
30+
}
31+
32+
binding.colorsheetDialog.setOnClickListener {
33+
colorDialog()
34+
}
35+
36+
binding.checkboxDialog.setOnClickListener {
37+
openCheckBoxDialog()
38+
}
39+
40+
binding.wifiDialog.setOnClickListener {
41+
wifiDialog()
42+
}
43+
44+
1045
}
46+
47+
private fun wifiDialog() {
48+
val dialog = WifiDialog()
49+
dialog.show(supportFragmentManager, "wifi_dialog")
50+
dialog.createDialog("Google wifi", "Pixel 2 A", "i929uui4ui", "Wpa2")
51+
dialog.setonButtonsCLickedListener(object : WifiDialog.WiFiDialogListeners {
52+
override fun okButtonClicked(password: String) {
53+
Toast.makeText(this@MainActivity, "$password", Toast.LENGTH_SHORT).show()
54+
}
55+
override fun cancelButtonClicked() {}
56+
})
57+
58+
59+
}
60+
61+
private fun colorDialog() {
62+
val dialog = ColorDialog()
63+
dialog.show(supportFragmentManager, "color_dialog")
64+
dialog.setOnColorSelectedListener(object : ColorDialog.OnColorSelectListener {
65+
override fun OnColorSelected(color: Int) {
66+
binding.colorsheetDialog.setBackgroundColor(color)
67+
}
68+
69+
})
70+
}
71+
72+
private fun dateDialog() {
73+
val dialog = DateAndTimeDialog()
74+
dialog.show(supportFragmentManager, "date_dialog")
75+
dialog.setOnOkButtonClicked(object : DateAndTimeDialog.OnButtonClicked {
76+
@RequiresApi(Build.VERSION_CODES.M)
77+
override fun OnOkButtonClicked(datePicker: DatePicker, timePicker: TimePicker) {
78+
val date = "${datePicker.dayOfMonth}.${datePicker.month}.${datePicker.year} " +
79+
"${timePicker.hour}:${timePicker.minute}"
80+
Toast.makeText(this@MainActivity, date, Toast.LENGTH_SHORT).show()
81+
}
82+
83+
84+
})
85+
}
86+
87+
private fun basicDialog() {
88+
val basicDialog = BasicDialog(this)
89+
basicDialog.createDialog(
90+
title = "Lorem ipsum?",
91+
mainTxt = "Lorem ipsum dolor sit amet, consectetur adipiscing elit," +
92+
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
93+
okBtnTxt = "Agree",
94+
cancelBtnTxt = "Disagree"
95+
)
96+
basicDialog.show(supportFragmentManager, "basic_dialog")
97+
basicDialog.setOnButtonClickListener(object : BasicDialog.BasicDialogListeners {
98+
override fun okButtonClicked() {
99+
Toast.makeText(this@MainActivity, "DISAGREE", Toast.LENGTH_SHORT).show()
100+
101+
}
102+
103+
override fun cancelButtonClicked() {
104+
Toast.makeText(this@MainActivity, "AGREE", Toast.LENGTH_SHORT).show()
105+
106+
}
107+
108+
})
109+
}
110+
111+
private fun openCheckBoxDialog() {
112+
val list = arrayListOf("Twitter", "Google", "Instagram", "Facebook")
113+
114+
val checkBoxDialog = CheckBoxDialog(list, "Social medias")
115+
checkBoxDialog.setOnChooseClickListener(object : CheckBoxDialog.OnChooseClickListener {
116+
override fun chooseClick(chosenList: List<String>) {
117+
val stringBuilder = StringBuilder()
118+
for (i in list) {
119+
stringBuilder.append("$i ")
120+
}
121+
Toast.makeText(this@MainActivity, stringBuilder.toString(), Toast.LENGTH_SHORT)
122+
.show()
123+
}
124+
125+
})
126+
checkBoxDialog.show(supportFragmentManager, "checkbox_dialog")
127+
}
128+
11129
}
Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,48 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:layout_width="match_parent"
66
android:layout_height="match_parent"
7+
android:layout_gravity="center"
8+
android:gravity="center"
9+
android:orientation="vertical"
710
tools:context=".MainActivity">
811

9-
<TextView
12+
<Button
13+
android:id="@+id/basic_dialog"
1014
android:layout_width="wrap_content"
1115
android:layout_height="wrap_content"
12-
android:text="Hello World!"
13-
app:layout_constraintBottom_toBottomOf="parent"
14-
app:layout_constraintEnd_toEndOf="parent"
15-
app:layout_constraintStart_toStartOf="parent"
16-
app:layout_constraintTop_toTopOf="parent" />
16+
android:text="Basic dialog" />
1717

18-
</androidx.constraintlayout.widget.ConstraintLayout>
18+
19+
<Button
20+
android:id="@+id/checkbox_dialog"
21+
android:layout_width="wrap_content"
22+
android:layout_height="wrap_content"
23+
android:text="Checkbox dialog" />
24+
25+
26+
<Button
27+
android:id="@+id/date_dialog"
28+
android:layout_width="wrap_content"
29+
android:layout_height="wrap_content"
30+
android:text="Date dialog" />
31+
32+
33+
<Button
34+
android:id="@+id/wifi_dialog"
35+
android:layout_width="wrap_content"
36+
android:layout_height="wrap_content"
37+
android:text="Sheet dialog" />
38+
39+
40+
<Button
41+
android:id="@+id/colorsheet_dialog"
42+
android:layout_width="wrap_content"
43+
android:layout_height="wrap_content"
44+
android:text="Color sheet dialog" />
45+
46+
47+
48+
</LinearLayout>

settings.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@ pluginManagement {
22
repositories {
33
gradlePluginPortal()
44
google()
5+
maven { url 'https://jitpack.io' }
56
mavenCentral()
7+
68
}
79
}
810
dependencyResolutionManagement {
911
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
1012
repositories {
1113
google()
14+
maven { url 'https://jitpack.io' }
1215
mavenCentral()
16+
1317
}
1418
}
1519
rootProject.name = "DialogLibrary"

0 commit comments

Comments
 (0)