Skip to content

Commit

Permalink
Merge branch 'main' into androidsupport
Browse files Browse the repository at this point in the history
  • Loading branch information
biezhihua committed Jun 10, 2022
2 parents 308bff8 + 99b49d7 commit 5f87d5b
Show file tree
Hide file tree
Showing 8 changed files with 96 additions and 44 deletions.
14 changes: 0 additions & 14 deletions GaiaXAndroid/src/androidTest/java/com/alibaba/gaiax/GXBaseTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ open class GXBaseTest {
.registerExtensionColor(GXProcessorColor())
.registerExtensionSize(GXExtensionSize())
.registerExtensionDynamicProperty(GXExtensionDynamicProperty())
.registerExtensionStaticProperty(GXExtensionStaticProperty())
.registerExtensionScroll(GXExtensionScroll())

}
Expand Down Expand Up @@ -123,19 +122,6 @@ open class GXBaseTest {
}
}

class GXExtensionStaticProperty : GXRegisterCenter.GXIExtensionStaticProperty {

override fun convert(params: GXRegisterCenter.GXIExtensionStaticProperty.GXParams): Any? {
if (params.propertyName == GXTemplateKey.STYLE_FONT_FAMILY && params.value == "unknow_fontfamily") {
return Typeface.createFromAsset(
context.assets,
"fontfamily3.ttf"
)
}
return null
}
}

class GXExtensionSize : GXRegisterCenter.GXIExtensionSize {
override fun create(value: String): Float? {
Log.d(TAG, "createProcessing() called with: size = $value")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.alibaba.gaiax

import android.content.Context
import android.graphics.Typeface
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import com.alibaba.fastjson.JSONObject
Expand All @@ -22,7 +23,17 @@ class GXCommonApiTest {
}

@Test
fun template_position_relative_left() {
fun template_font_family() {
GXRegisterCenter.instance.registerExtensionFontFamily(object :
GXRegisterCenter.GXIExtensionFontFamily {
override fun fontFamily(fontFamilyName: String): Typeface? {
return Typeface.createFromAsset(GXMockUtils.context.assets, fontFamilyName)
}
})
}

@Test
fun template_bind_data_measure_size() {
val templateItem = GXTemplateEngine.GXTemplateItem(
GXMockUtils.context,
"api",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.alibaba.gaiax

import android.graphics.Color
import android.graphics.Paint
import android.graphics.Typeface
import android.text.TextUtils
import android.util.Log
import android.view.Gravity
Expand Down Expand Up @@ -147,6 +148,19 @@ class GXComponentTextTest : GXBaseTest() {

@Test
fun template_text_processor_font_family() {
GXRegisterCenter.instance.registerExtensionStaticProperty(object :
GXRegisterCenter.GXIExtensionStaticProperty {
override fun convert(params: GXRegisterCenter.GXIExtensionStaticProperty.GXParams): Any? {
if (params.propertyName == GXTemplateKey.STYLE_FONT_FAMILY && params.value == "unknow_fontfamily") {
return Typeface.createFromAsset(
GXMockUtils.context.assets,
"fontfamily3.ttf"
)
}
return null
}
})

val templateItem = GXTemplateEngine.GXTemplateItem(
GXMockUtils.context,
"text",
Expand Down Expand Up @@ -467,6 +481,19 @@ class GXComponentTextTest : GXBaseTest() {

@Test
fun template_text_property_font_family() {
GXRegisterCenter.instance.registerExtensionStaticProperty(object :
GXRegisterCenter.GXIExtensionStaticProperty {
override fun convert(params: GXRegisterCenter.GXIExtensionStaticProperty.GXParams): Any? {
if (params.propertyName == GXTemplateKey.STYLE_FONT_FAMILY) {
return Typeface.createFromAsset(
GXMockUtils.context.assets,
"${params.value}.ttf"
)
}
return null
}
})

val templateItem = GXTemplateEngine.GXTemplateItem(
GXMockUtils.context,
"text",
Expand Down Expand Up @@ -1090,7 +1117,10 @@ class GXComponentTextTest : GXBaseTest() {
)
textView.measure(widthSpec, 0)

Log.e("[GaiaX]", "textView.measuredWidth=${textView.measuredWidth.toFloat()} textView.measuredHeight=${textView.measuredHeight.toFloat()}")
Log.e(
"[GaiaX]",
"textView.measuredWidth=${textView.measuredWidth.toFloat()} textView.measuredHeight=${textView.measuredHeight.toFloat()}"
)

Assert.assertEquals(textView.measuredWidth.toFloat(), rootView.child(0).width())
Assert.assertEquals(textView.measuredHeight.toFloat(), rootView.child(0).height())
Expand Down
30 changes: 30 additions & 0 deletions GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/GXRegisterCenter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package com.alibaba.gaiax

import android.graphics.Typeface
import android.view.ViewGroup
import com.alibaba.fastjson.JSONArray
import com.alibaba.fastjson.JSONObject
Expand Down Expand Up @@ -129,6 +130,23 @@ class GXRegisterCenter {
fun convert(params: GXParams): Any?
}

/**
* Load Typeface
* Basic usage:
* ```
* GXRegisterCenter.instance.registerExtensionFontFamily(object :
* GXRegisterCenter.GXIExtensionFontFamily {
* override fun fontFamily(fontFamilyName: String): Typeface? {
* return Typeface.createFromAsset(GXMockUtils.context.assets, fontFamilyName)
* }
* })
* ```
*/
interface GXIExtensionFontFamily {

fun fontFamily(fontFamilyName: String): Typeface?
}

interface GXIExtensionBizMap {
fun convert(item: GXTemplateEngine.GXTemplateItem)
}
Expand Down Expand Up @@ -315,6 +333,18 @@ class GXRegisterCenter {
return this
}

fun registerExtensionFontFamily(extensionFontFamily: GXIExtensionFontFamily): GXRegisterCenter {
this.extensionStaticProperty = object : GXIExtensionStaticProperty {
override fun convert(params: GXIExtensionStaticProperty.GXParams): Any? {
if (params.propertyName == GXTemplateKey.STYLE_FONT_FAMILY) {
return extensionFontFamily.fontFamily(params.value as String)
}
return null
}
}
return this
}

fun reset() {
extensionNodeEvent = null
extensionCompatibility = null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,27 +171,20 @@ class GXStyleConvert {
}

fun fontFamily(fontFamily: String): Typeface? {
try {
// extend
GXRegisterCenter
.instance
.extensionStaticProperty
?.convert(
GXRegisterCenter.GXIExtensionStaticProperty.GXParams(
GXTemplateKey.STYLE_FONT_FAMILY,
fontFamily
)
// extend
GXRegisterCenter
.instance
.extensionStaticProperty
?.convert(
GXRegisterCenter.GXIExtensionStaticProperty.GXParams(
GXTemplateKey.STYLE_FONT_FAMILY,
fontFamily
)
?.let {
(it as? Typeface)?.let { return it }
}

// src
return Typeface.createFromAsset(assets, "$fontFamily.ttf")
} catch (e: Exception) {
e.printStackTrace()
return null
}
)
?.let {
(it as? Typeface)?.let { return it }
}
return null
}

fun font(css: JSONObject): GXSize? =
Expand Down
2 changes: 2 additions & 0 deletions GaiaXiOS/GaiaXiOS/Core/StretchKit/Classes/GXNode.m
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,7 @@ - (void)bindEvent:(NSDictionary *)eventInfo{
if (!_longPress) {
_longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:view action:@selector(gx_handleGesture:)];
_longPress.delegate = self;
view.userInteractionEnabled = true;
[view addGestureRecognizer:_longPress];
}

Expand All @@ -450,6 +451,7 @@ - (void)bindEvent:(NSDictionary *)eventInfo{
if (!_tap) {
_tap = [[UITapGestureRecognizer alloc] initWithTarget:view action:@selector(gx_handleGesture:)];
_tap.delegate = self;
view.userInteractionEnabled = true;
[view addGestureRecognizer:_tap];
}
}
Expand Down
8 changes: 4 additions & 4 deletions README-ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,15 @@ allprojects {

Android-Support version:
```
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.2.2-support'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.2.2-support'
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.3-support'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.3-support'
implementation 'com.alibaba:fastjson:1.2.76'
```

AndroidX version:
```
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.2.2'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.2.2'
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.3'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.3'
implementation 'com.alibaba:fastjson:1.2.76'
```

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,15 @@ allprojects {

Android-Support version:
```
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.2.2-support'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.2.2-support'
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.3.0-support'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.3.0-support'
implementation 'com.alibaba:fastjson:1.2.76'
```

AndroidX version:
```
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.2.2'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.2.2'
implementation 'com.github.alibaba.GaiaX:GaiaX-Adapter:0.2.3'
implementation 'com.github.alibaba.GaiaX:GaiaX:0.2.3'
implementation 'com.alibaba:fastjson:1.2.76'
```
#### Template File
Expand Down

0 comments on commit 5f87d5b

Please sign in to comment.