IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter调用原生View心酸路 -> 正文阅读

[移动开发]Flutter调用原生View心酸路

场景:Flutter调用原生第三方密码输入控件

坑一:flutter接入原生View项目中一运行就闪退,Demo中运行完好

代码结构 存放位置 Plugin创建方式 jar、so引用方式 包名等全都改了个遍 都无效
最终原因 混淆导致找不到so包 创建第三方控件失败

- 坑二:控件hint字体显示和flutter中hint字体显示不一致

找了好久 终于找到差不多 字体设置hint字体

val myFont: Typeface = Typeface.createFromAsset(activity.assets, "fonts/pfthin0.ttf")
mSipView.setTypeface(myFont,Typeface.BOLD)

坑三:hint字体大小以及颜色设置问题

val hintSS = SpannableString(params!!["hintStr"].toString()) //定义hint的值
val ass = AbsoluteSizeSpan(14, true) //设置字体大小 true表示单位是sp
hintSS.setSpan(ass, 0, hintSS.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
mSipView.hint = SpannedString(hintSS)
mSipView.setHintTextColor(activity.resources.getColor(R.color.hintColor))

坑四:字体下划线与光标显示问题

为了保持与Flutter一致,需要设置光标显示,下划线不显示
最终解决方案:

1. edittext背景设置为页面背景

mSipView.setBackgroundResource(R.color.bg)

2. 光标由全局主题设置

<item name="colorAccent">@color/hintSelectionColor</item>

坑五:创建的Edittext边框还是下划线问题

Demo中创建的控件的全是带边框的,我这边创建的也都是带边框的,所以认为第三方那提供的智能时代边框的 不能下划线形式 ,咨询第三方人员,未得到明确答复。
所以又尝试原生自己的EditText创建 也是边框的 继续调查 先使用原生调用页面 页面中写原生EditText和SipEditText 可以是下划线 有了一丝曙光
感觉是主题设置原因导致
于是MainAcitivty切换主题 无效
继续尝试 最终发现
Android Mainfest文件中,这一块也是设置主题的

<meta-data
    android:name="io.flutter.embedding.android.NormalTheme"
    android:resource="@style/EditTextTheme" />

改完运行出现app无法解析,其实此时的代码已经是ok的了 但是出现无法解析 就又改回来 ,然后又试了很久 也重启电脑 AS 最终兜兜转转又改成上面的主题 也能运行 结果可以了

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:52:02  更:2022-04-26 11:52:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 23:52:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码