我有一个应用程序,已从android 1.5到4.0工作。Android4.1导致了一个简单的EditTextPreference问题。应用程序始终处于横向模式。当我调出团队名称时,它看起来是这样的。
Pic 1 http://myweb.midco.net/hgs/s1.jpg
然后,当我单击“编辑文本字段”时,它始终是这样的。
Pic 1 http://myweb.midco.net/hgs/s2.jpg
但在我的模拟器中,以及对搭载安卓4.1的三星Galaxy Tab2的投诉中,我得到了这样的结果。
Pic 1 http://myweb.midco.net/hgs/s3.jpg
这将压缩文本字段。将清单更改为
android:windowSoftInputMode="stateVisible|adjustResize"或
android:windowSoftInputMode="stateVisible|adjustPan"也没帮上忙。将标题留空会将标题去掉,但您仍然看不到编辑文本。这是这个Pref的代码。
EditTextPreference teamnamePref = new EditTextPreference(this);  
teamnamePref.setTitle("Team Name"); 
teamnamePref.setKey( "t" + Team_ID );
teamnamePref.setSummary(TheTeamName); 
teamnamePref.setDialogTitle("Enter Name For Team " + Team_ID);
teamnamePref.setDefaultValue(TheTeamName);
teamnamePref.getEditText().setSingleLine(true);
TeamCategory.addPreference(teamnamePref);   谢谢
发布于 2013-05-05 13:21:06
像这样的东西应该可以完成这项工作。您可以随时将软输入标志修改为其他值,如adjustPan。这之前对你不起作用的原因是EditTextPreference覆盖了这些选项。
import android.content.Context;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.view.Window;
import android.view.WindowManager;
public class CustomEditTextPref extends EditTextPreference
{
    public CustomEditTextPref(Context context)
    {
        super(context);
    }
    @Override
    protected void showDialog(Bundle state)
    {
        super.showDialog(state);
        Window window = getDialog().getWindow();
        window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
    }
}https://stackoverflow.com/questions/12203490
复制相似问题