Android 如何在AOSP中为拉丁语设置默认主题

Android 如何在AOSP中为拉丁语设置默认主题,android,keyboard,themes,default,android-source,Android,Keyboard,Themes,Default,Android Source,我需要一些关于在AOSP上为拉丁语设置默认主题的指导。我不太确定这个值存储在哪里 首先,我尝试在LatinIME中的mesettingsFragment.java中设置主题。所以现在每次设定或更改主题时,它都会选择我的主题。后来我发现只有在设置中打开键盘主题(语言和输入->Android键盘(AOSP)->外观和布局->主题)时才会调用这个类。只有打开这些视图,主题才会改变。我的目标是在构建AOSP时设置主题 接下来,我怀疑该值可能存储在某个全局配置中,这使我找到了类InputMethodMan

我需要一些关于在AOSP上为拉丁语设置默认主题的指导。我不太确定这个值存储在哪里

首先,我尝试在LatinIME中的mesettingsFragment.java中设置主题。所以现在每次设定或更改主题时,它都会选择我的主题。后来我发现只有在设置中打开键盘主题(语言和输入->Android键盘(AOSP)->外观和布局->主题)时才会调用这个类。只有打开这些视图,主题才会改变。我的目标是在构建AOSP时设置主题

接下来,我怀疑该值可能存储在某个全局配置中,这使我找到了类InputMethodManagerService.java,在那里我找到了常量Settings.Secure.DEFAULT\u INPUT\u METHOD。但这并没有让我有任何值得一试的地方


有人做过类似的工作或者知道我问题的解决方法吗

您可以尝试在此处进行更改:


我希望有帮助。

您可以尝试在此处进行更改:

我希望它能有所帮助。

切中要害,只增加了一些细节。 要修改packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java以更改默认键盘布局,或者您可以在其中添加自定义布局,还可以确保在packages/inputmethods/LatinIME/java/res/values/keyboard-themes.xml中正确添加/更改了选项

在我的例子中,我希望材质暗主题作为默认值,并作为键盘布局设置中的第一个选项。下面是我所做的修改

  • KeyboardTheme.java

    公共静态final int DEFAULT\u THEME\u ID=THEME\u ID\u LXX\u DARK

    私有静态键盘主题[]可用键盘主题

     /* package private for testing */
     static final KeyboardTheme[] KEYBOARD_THEMES = {
     new KeyboardTheme(THEME_ID_LXX_DARK, "LXXDark", R.style.KeyboardTheme_LXX_Dark,
                 // This has never been selected as default theme.
                 Build.VERSION_CODES.LOLLIPOP),
         new KeyboardTheme(THEME_ID_ICS, "ICS", R.style.KeyboardTheme_ICS,
                 // This has never been selected because we support ICS or later.
                 VERSION_CODES.BASE),
         new KeyboardTheme(THEME_ID_KLP, "KLP", R.style.KeyboardTheme_KLP,
                 // Default theme for ICS, JB, and KLP.
                 VERSION_CODES.ICE_CREAM_SANDWICH),
         new KeyboardTheme(THEME_ID_LXX_LIGHT, "LXXLight", R.style.KeyboardTheme_LXX_Light,
                 // Default theme for LXX.
                 VERSION_CODES.BASE),
    
     };
    
  • 在keyboard-themes.xml中
  • 
    @字符串/键盘\u主题\u材质\u深色
    @字符串/键盘\u主题\u材质\u灯光
    @字符串/键盘\u主题\u全息\u白色
    @字符串/键盘\主题\全息\蓝色
    4.
    3.
    2.
    0
    
    切中要害,只增加了一些细节。 要修改packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java以更改默认键盘布局,或者您可以在其中添加自定义布局,还可以确保在packages/inputmethods/LatinIME/java/res/values/keyboard-themes.xml中正确添加/更改了选项

    在我的例子中,我希望材质暗主题作为默认值,并作为键盘布局设置中的第一个选项。下面是我所做的修改

  • KeyboardTheme.java

    公共静态final int DEFAULT\u THEME\u ID=THEME\u ID\u LXX\u DARK

    私有静态键盘主题[]可用键盘主题

     /* package private for testing */
     static final KeyboardTheme[] KEYBOARD_THEMES = {
     new KeyboardTheme(THEME_ID_LXX_DARK, "LXXDark", R.style.KeyboardTheme_LXX_Dark,
                 // This has never been selected as default theme.
                 Build.VERSION_CODES.LOLLIPOP),
         new KeyboardTheme(THEME_ID_ICS, "ICS", R.style.KeyboardTheme_ICS,
                 // This has never been selected because we support ICS or later.
                 VERSION_CODES.BASE),
         new KeyboardTheme(THEME_ID_KLP, "KLP", R.style.KeyboardTheme_KLP,
                 // Default theme for ICS, JB, and KLP.
                 VERSION_CODES.ICE_CREAM_SANDWICH),
         new KeyboardTheme(THEME_ID_LXX_LIGHT, "LXXLight", R.style.KeyboardTheme_LXX_Light,
                 // Default theme for LXX.
                 VERSION_CODES.BASE),
    
     };
    
  • 在keyboard-themes.xml中
  • 
    @字符串/键盘\u主题\u材质\u深色
    @字符串/键盘\u主题\u材质\u灯光
    @字符串/键盘\u主题\u全息\u白色
    @字符串/键盘\主题\全息\蓝色
    4.
    3.
    2.
    0
    
    实际上这是正确的答案。我没有正确地测试这个,但现在我可以说它工作得很好。谢谢,哈哈。没有问题:实际上这是正确的答案。我没有正确地测试这个,但现在我可以说它工作得很好。谢谢,哈哈。无问题:D