Archived
Text Basic 2.0.0: quick fix on the dropdown menu, implemented a custom DropdownAdapter.kt because a bug on the dropdown menus from years ago still has not been fixed... I encountered this bug in a project back in 2019. How is this still a thing?
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ android {
|
|||||||
applicationId "com.denizk0461.textbasic"
|
applicationId "com.denizk0461.textbasic"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 6
|
versionCode 7
|
||||||
versionName "2.0.0"
|
versionName "2.0.0"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"artifactType": {
|
||||||
|
"type": "APK",
|
||||||
|
"kind": "Directory"
|
||||||
|
},
|
||||||
|
"applicationId": "com.denizk0461.textbasic",
|
||||||
|
"variantName": "release",
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"type": "SINGLE",
|
||||||
|
"filters": [],
|
||||||
|
"attributes": [],
|
||||||
|
"versionCode": 6,
|
||||||
|
"versionName": "2.0.0",
|
||||||
|
"outputFile": "app-release.apk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementType": "File"
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.denizd.textbasic.adapter
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.widget.ArrayAdapter
|
||||||
|
import android.widget.Filter
|
||||||
|
import com.denizd.textbasic.R
|
||||||
|
|
||||||
|
class DropdownAdapter(context: Context, items: List<String>)
|
||||||
|
: ArrayAdapter<String>(context, R.layout.item_dropdown, items) {
|
||||||
|
|
||||||
|
private val noOpFilter = object : Filter() {
|
||||||
|
private val noOpResult = FilterResults()
|
||||||
|
override fun performFiltering(constraint: CharSequence?) = noOpResult
|
||||||
|
override fun publishResults(constraint: CharSequence?, results: FilterResults?) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getFilter() = noOpFilter
|
||||||
|
}
|
||||||
@@ -8,7 +8,6 @@ import android.os.Bundle
|
|||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.ArrayAdapter
|
|
||||||
import android.widget.ImageButton
|
import android.widget.ImageButton
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
@@ -16,6 +15,7 @@ import androidx.annotation.StringRes
|
|||||||
import androidx.transition.TransitionManager
|
import androidx.transition.TransitionManager
|
||||||
import com.denizd.textbasic.BuildConfig
|
import com.denizd.textbasic.BuildConfig
|
||||||
import com.denizd.textbasic.R
|
import com.denizd.textbasic.R
|
||||||
|
import com.denizd.textbasic.adapter.DropdownAdapter
|
||||||
import com.denizd.textbasic.databinding.FragmentSettingsNewBinding
|
import com.denizd.textbasic.databinding.FragmentSettingsNewBinding
|
||||||
import com.denizd.textbasic.db.QuoteStorage
|
import com.denizd.textbasic.db.QuoteStorage
|
||||||
import com.denizd.textbasic.sheet.TextSheet
|
import com.denizd.textbasic.sheet.TextSheet
|
||||||
@@ -41,10 +41,9 @@ class SettingsNewFragment : BaseFragment(R.layout.fragment_settings_new) {
|
|||||||
storage = QuoteStorage.getInstance(context)
|
storage = QuoteStorage.getInstance(context)
|
||||||
|
|
||||||
// --- text font --- //
|
// --- text font --- //
|
||||||
val fontAdapter = ArrayAdapter.createFromResource(
|
val fontAdapter = DropdownAdapter(
|
||||||
context,
|
context,
|
||||||
R.array.text_fonts,
|
context.resources.getStringArray(R.array.text_fonts).toList(),
|
||||||
R.layout.item_dropdown,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
binding.autoCompleteFont.setAdapter(fontAdapter)
|
binding.autoCompleteFont.setAdapter(fontAdapter)
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.denizd.textbasic.view
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.AttributeSet
|
||||||
|
import com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||||
|
|
||||||
|
class ExposedDropdownMenu @JvmOverloads constructor(
|
||||||
|
context: Context,
|
||||||
|
attrs: AttributeSet? = null,
|
||||||
|
defStyleAttr: Int = 0,
|
||||||
|
) : MaterialAutoCompleteTextView(context, attrs, defStyleAttr) {
|
||||||
|
|
||||||
|
override fun getFreezesText(): Boolean {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -41,5 +41,6 @@
|
|||||||
ads:layout_constraintBottom_toBottomOf="parent"
|
ads:layout_constraintBottom_toBottomOf="parent"
|
||||||
ads:layout_constraintStart_toStartOf="parent"
|
ads:layout_constraintStart_toStartOf="parent"
|
||||||
ads:layout_constraintEnd_toEndOf="parent"/>
|
ads:layout_constraintEnd_toEndOf="parent"/>
|
||||||
|
<!-- ads:adUnitId="ca-app-pub-6028283326987089/7147449316"-->
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
Reference in New Issue
Block a user