多语言,支持阿拉伯等非Locale内置语言,aab 多语言分发

668 阅读1分钟

Git地址

依赖

implementation 'com.github.zxyUncle:zxyMultilingual:1.1.2'

使用

    //更新指定的语言
    MultiLanguageUtil.getInstance().updateLanguage(LanguageType.LANGUAGE_FOLLOW_SYSTEM)
    //跳转到指定的Activity,使用栈顶跳转
    MultiLanguageUtil.getInstance().newIntent(this,Intent(this, MainActivity::class.java))

语言类型

image.png

获取当前的语言,对应LanguageType的类型

MultiLanguageUtil.getInstance().languageType

要使用阿拉伯UI小技巧:

  • 横向要布局用线性,才会自动左右兑换
  • margin要使用start跟ent才会预留空间,layout_marginStart、layout_marginEnd
  • 在 AndroidManifest.xml 文件中 application 节点添加android:supportsRtl="true" 以支持从做到右
namechinese
android:layoutDirection设置组件的布局排列方向
android:textDirection设置组件的文字排列方向
android:textAlignment设置文字的对齐方式
getLayoutDirectionFromLocale()获取指定地区的惯用布局方式

AAB 多语言分发,一个模块分发所有语言

        language {
            enableSplit = true
        }
    }