软键盘不以2.2横向模式显示

时间:2010-11-22 06:50:34

标签: android

我面临一个奇怪的问题。 我的应用程序在2.1(模拟器+设备)中工作正常。但是,当我使用2.2时 (模拟器+设备)然后软件有问题 键盘。 应用程序中有横向模式的活动(使用 机器人:screenOrientation = “风景”)。 该Activity中有两个EditText。但是,软键盘不是 显示那些。事实上,软键盘似乎很容易,但作为一个 酒吧在底部。 请查看截图。

screenshot

任何帮助将不胜感激。 问候 Sarwar Erfan

为android尝试了不同的东西:windowSoftInputMode,无法正常工作

<Activity android:name=".PriceCalculator" 
    android:screenOrientation="landscape" 
    android:windowSoftInputMode="stateAlwaysVisible|adjustPan" 
    android:configChanges="orientation" 
    android:label="Pricing Calculator">
    ....
</Activity>


<EditText 
    android:id="@+id/adhesiveUnitPrice" 
    android:inputType="numberDecimal" 
    android:imeOptions="actionDone|flagNoExtractUi" 
    android:layout_column="4" android:gravity="right"/> 

2 个答案:

答案 0 :(得分:2)

我发现在2.3中,如果模拟器或设备有硬件键盘,软键盘将不会以横向模式显示。

答案 1 :(得分:0)

我的代码遇到了类似问题(请参阅下面的示例)。仅供参考,将“InputMethodManager.SHOW_IMPLICIT”替换为“InputMethodManager.SHOW_FORCED”解决了这个问题。

public class Main extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    EditText et = (EditText)findViewById(R.id.et);

    et.setFocusableInTouchMode(false);

    final Context context = this;

    et.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            v.requestFocusFromTouch();

            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(v, InputMethodManager.SHOW_FORCED);

        }
    });

}

}