feat: add text to AccessibilityNodeInfo.

This commit is contained in:
cgspine
2022-04-26 17:35:34 +08:00
parent b51fff1491
commit e01879eae8
3 changed files with 22 additions and 0 deletions
@@ -32,6 +32,7 @@ import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityNodeInfo;
import androidx.annotation.ColorInt;
import androidx.annotation.Nullable;
@@ -812,6 +813,13 @@ public class QMUIQQFaceView extends View {
mListener = listener;
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setText(getText());
info.setContentDescription(getText());
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
long start = System.currentTimeMillis();
@@ -23,6 +23,7 @@ import android.text.TextUtils
import android.util.AttributeSet
import android.util.Log
import android.view.MotionEvent
import android.view.accessibility.AccessibilityNodeInfo
import androidx.annotation.ColorInt
import com.qmuiteam.qmui.type.LineLayout
import com.qmuiteam.qmui.type.TypeEnvironment
@@ -98,6 +99,12 @@ open class LineTypeView : BaseTypeView {
}
}
override fun onInitializeAccessibilityNodeInfo(info: AccessibilityNodeInfo) {
super.onInitializeAccessibilityNodeInfo(info)
info.text = text
info.contentDescription = text
}
fun addClickEffect(
start: Int, end: Int,
textColorGetter: (isPressed: Boolean) -> Int,
@@ -4,6 +4,7 @@ import android.content.Context
import android.graphics.*
import android.os.SystemClock
import android.util.AttributeSet
import android.view.accessibility.AccessibilityNodeInfo
import com.qmuiteam.qmui.type.TypeModel
import com.qmuiteam.qmui.type.parser.PlainTextParser
import com.qmuiteam.qmui.type.parser.TextParser
@@ -61,6 +62,12 @@ class MarqueeTypeView : BaseTypeView {
invalidate()
}
override fun onInitializeAccessibilityNodeInfo(info: AccessibilityNodeInfo) {
super.onInitializeAccessibilityNodeInfo(info)
info.text = text
info.contentDescription = text
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
val widthSize = MeasureSpec.getSize(widthMeasureSpec)
val widthMode = MeasureSpec.getMode(widthMeasureSpec)