mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix: newly added TextView has android:text attribute by default
This commit is contained in:
+4
-2
@@ -17,6 +17,7 @@
|
||||
|
||||
package com.itsaky.androidide.inflater.internal.adapters
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Typeface
|
||||
import android.text.TextUtils
|
||||
import android.text.util.Linkify
|
||||
@@ -27,9 +28,9 @@ import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
|
||||
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.WIDGETS
|
||||
import com.itsaky.androidide.inflater.AttributeHandlerScope
|
||||
import com.itsaky.androidide.inflater.IView
|
||||
import com.itsaky.androidide.resources.R
|
||||
import com.itsaky.androidide.inflater.models.UiWidget
|
||||
import com.itsaky.androidide.inflater.utils.newAttribute
|
||||
import com.itsaky.androidide.resources.R
|
||||
import java.util.regex.Pattern
|
||||
|
||||
/**
|
||||
@@ -129,9 +130,10 @@ open class TextViewAdapter<T : TextView> : ViewAdapter<T>() {
|
||||
)
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun applyBasic(view: IView) {
|
||||
super.applyBasic(view)
|
||||
view.addAttribute(newAttribute(view = view, name = "text", value = "AndroidIDE"))
|
||||
(view.view as? TextView)?.text = "AndroidIDE"
|
||||
}
|
||||
|
||||
protected open fun parseTextStyle(value: String): Int {
|
||||
|
||||
@@ -30,10 +30,10 @@ import com.itsaky.androidide.inflater.internal.utils.IDTable
|
||||
import com.itsaky.androidide.inflater.utils.newAttribute
|
||||
import com.itsaky.androidide.projects.ProjectManager
|
||||
import com.itsaky.androidide.projects.api.AndroidModule
|
||||
import java.io.File
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import java.io.File
|
||||
|
||||
/** @author Akash Yadav */
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
@@ -159,8 +159,7 @@ class LayoutInflaterTest {
|
||||
assertThat(inflated).hasSize(1)
|
||||
|
||||
val root = inflated[0] as ViewGroupImpl
|
||||
|
||||
|
||||
|
||||
// verity the inflated layout hierarchy
|
||||
// this takes care of verifying that the generated XML elements will have proper XML tagsl
|
||||
assertThat(root.printHierarchy())
|
||||
@@ -178,17 +177,17 @@ class LayoutInflaterTest {
|
||||
|
||||
// TextView is used to inflate unsupported views
|
||||
assertThat(root[0].view).isInstanceOf(TextView::class.java)
|
||||
|
||||
|
||||
// TextView is also used for layouts which do not have any child viewsl
|
||||
assertThat(root[1].view).isInstanceOf(TextView::class.java)
|
||||
|
||||
|
||||
// FrameLayout is used to inflate unsupported layouts with child views
|
||||
assertThat(root[2].view).isInstanceOf(FrameLayout::class.java)
|
||||
assertThat(root[3].view).isInstanceOf(FrameLayout::class.java)
|
||||
|
||||
assertThat((root[2] as ViewGroupImpl)[0].view).isInstanceOf(ImageView::class.java)
|
||||
assertThat((root[2] as ViewGroupImpl)[1].view).isInstanceOf(ImageView::class.java)
|
||||
|
||||
|
||||
// Unsupported child views
|
||||
assertThat((root[3] as ViewGroupImpl)[0].view).isInstanceOf(TextView::class.java)
|
||||
assertThat((root[3] as ViewGroupImpl)[1].view).isInstanceOf(TextView::class.java)
|
||||
|
||||
Reference in New Issue
Block a user