gpt4 book ai didi

android - SharedPreferences EditText 对话框在 HTC WildFire 上被压扁

转载 作者:搜寻专家 更新时间:2023-11-01 08:14:36 26 4
gpt4 key购买 nike

我在我的 Android 应用程序中以标准方式使用 SharedPreferences。在 HTC WildFire 设备(分辨率 240x320)上,当显示虚拟键盘时,EditText 被压扁。

有没有其他人遇到过这个有解决办法吗?我被难住了好几天了。

My SharedPreferences activity on the HTC WildFire

我的代码/XML 非常简单:

public class PrefsActivity extends PreferenceActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);

// don't display hidden preferences
getPreferenceScreen().removePreference(findPreference("hidden_prefs"));
}
}

还有我的 preferences.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="User Preferences">
<EditTextPreference
android:key="profile"
android:title="Profile"
android:summary="Your profile name"
android:name="Profile"/>

<EditTextPreference
android:key="password"
android:title="Password"
android:summary="Your password"
android:name="Password"
android:password="true"/>

<EditTextPreference
android:name="Server"
android:summary="The server to use"
android:title="Server"
android:key="server"/>

<EditTextPreference
android:name="Secret"
android:summary="The server secret"
android:title="Secret"
android:password="true"
android:key="secret"/>

<CheckBoxPreference
android:title="On Demand"
android:defaultValue="true"
android:summary="Check to enable On Demand"
android:key="on_demand"/>

<ListPreference
android:title="Date"
android:summary="Set the type of date used"
android:key="date"
android:defaultValue="next"
android:entries="@array/prefs_date_keys"
android:entryValues="@array/prefs_date_values" />

</PreferenceCategory>

<PreferenceCategory android:key="hidden_prefs" android:title="Hidden Preferences">

<EditTextPreference
android:name="Last Project ID"
android:summary="The last Project ID"
android:title="Last Project ID"
android:key="last_project_id"
android:inputType="number"/>

<EditTextPreference
android:name="Fast Sync"
android:summary="Use Fast Sync"
android:title="Fast Sync"
android:key="fast_sync"
android:inputType="number"/>

</PreferenceCategory>

最佳答案

我知道这个答案很可能来得太晚了,但万一其他人正在寻找解决这个真正烦人的问题的方法,这就是我解决它的方法,尽量让它保持原样(对我来说,自定义在这种情况下,布局绝对是禁忌):

public class MyEditTextPreference extends EditTextPreference
{
public MyEditTextPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
protected void showDialog(Bundle bundle) {
super.showDialog(bundle);

Dialog dialog = getDialog();
if(dialog != null) {
Window window = dialog.getWindow();
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE |
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
}
}
}

使用此代码,屏幕键盘将显示在对话框按钮的顶部,但 EditText 仍然可见。

关于android - SharedPreferences EditText 对话框在 HTC WildFire 上被压扁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087131/

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