gpt4 book ai didi

java - 如何向 Android 输入法编辑器应用程序添加简单的首选项屏幕

转载 作者:行者123 更新时间:2023-12-02 12:54:00 26 4
gpt4 key购买 nike

我一直在开发一个相当简单的键盘应用程序,我想为其添加一些设置。上周我已经浏览了几个教程和更多的引用页,我希望这里有人能够/愿意发现我的错误。

我的应用程序构建时没有错误(只有一个关于使用已折旧功能的警告),但首选项 Activity 不会从语言和输入设置菜单启动。

这是我到目前为止所拥有的

AndroidManifest.xml 上应用程序标记的内容

<service
android:name=".SimpleIME"
android:label="@string/app_name"
android:permission="android.permission.BIND_INPUT_METHOD">
<meta-data
android:name="android.view.im"
android:resource="@xml/method" />

<intent-filter>
<action android:name="android.view.InputMethod" />
</intent-filter>
</service>

<activity
android:name=".keyboardPrefsActivity"
android:label="@string/title_activity_keyboard_prefs">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>

方法.xml

<?xml version="1.0" encoding="utf-8"?>
<input-method xmlns:android="http://schemas.android.com/apk/res/android">
<subtype
android:label="@string/subtype_en_US"
android:imeSubtypeLocale="en_US"
android:imeSubtypeMode="keyboard"
android:settingsActivity="com.dev.tompk.learnmorsekeyboard.keyboardPrefsActivity"/>
</input-method>

首选项.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="lmk_settings"
android:title="Learn Morse Keyboard Settings">
<EditTextPreference
android:key="MorsePulseRate"
android:title="@string/morse_pulse_rate_pref_title"
android:summary="@string/morse_pulse_rate_pref_summary"
android:numeric="integer"
android:maxLength="3"
android:defaultValue="100"
/>
</PreferenceScreen>

keyboardPrefsActivity.java

package com.dev.tompk.learnmorsekeyboard;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;

public class keyboardPrefsActivity extends PreferenceActivity {

private EditTextPreference morsePulseRate;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
morsePulseRate = (EditTextPreference)findPreference("MorsePulseRate");
}
}

此时,我不需要任何花哨的标题或将其分解为更小的 fragment (除非这是使其工作所必需的)。我当前的目标是拥有一个包含 2 个或 3 个设置的列表,每个设置都采用一个整数(如果需要,可以使用字符串,因为它可以转换或替换为默认值)

我意识到我的代码对于我尝试过的所有不同的事情来说有点困惑,但是任何建议将不胜感激。

提前致谢。

最佳答案

    <activity
android:name=".SettingsActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>

我意识到这个答案对您来说可能有点晚了,但有人可能想要这个答案。尝试在设置 Activity 中添加“android:theme=”“”,就像正常 Activity 一样,这为我解决了问题。

您还可以尝试将“android:settingsActivity”放在 input-method 标记内,而不是放在 subtype 标记下。

关于java - 如何向 Android 输入法编辑器应用程序添加简单的首选项屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44510530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com