Motorola AttrixのQHD画面に縮小しているソフトキーボードのサンプルが縮小されていますGingerBread

StackOverflow https://stackoverflow.com/questions/8824035

質問

私はAndroidに取り組んできました サンプルソフトキーボード. 。それはかなり理にかなっていますが、私は問題に遭遇しました。キーボードは、画面の約88%(540px画面の480px)のみを埋めます。

私はAtrix 4Gで開発しています。これは明らかに2.3.4で問題があります。私が知ることができることから、QHD画面を備えた元のデバイスにはほとんどのキーボードが正しく表示されません(これはしばらくの間CM7の問題でした)。私が見つけることができるすべてのキーボードは修正されていますが、彼らがこれをどのように達成したかはわかりません。

キーボードには、エミュレータ(画面幅480px)でどのように期待するかを正確に示しています。これは、奇妙になるデバイス自体の上にあります。

IMEの幅を制御するように見えるサンプルのコードを以下に示しますが、画面解像度の明示的な幅に設定することでも問題は解決しません。

/**
 * This is the point where you can do all of your UI initialization.  It
 * is called after creation and any configuration change.
 */
@Override public void onInitializeInterface() {
    if (mQwertyKeyboard != null) {
        // Configuration changes can happen after the keyboard gets recreated,
        // so we need to be able to re-build the keyboards if the available
        // space has changed.
        int displayWidth = getMaxWidth();
        if (displayWidth == mLastDisplayWidth) return;
        mLastDisplayWidth = displayWidth;
    }
    mQwertyKeyboard = new LatinKeyboard(this, R.xml.qwerty);
    mSymbolsKeyboard = new LatinKeyboard(this, R.xml.symbols);
    mSymbolsShiftedKeyboard = new LatinKeyboard(this, R.xml.symbols_shift);
}

編集:少なくとも一時的な回避策が見つかり、互換性モードを無効にすると、アプリが正しいAPIバージョン(Gingerbread/10)を使用してデプロイされるため、これが必要な理由がわかりません。

役に立ちましたか?

解決

SDKバージョンをマニフェストファイルに設定する必要があります。

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top