2

いくつかのデバイスでEditTextに問題があります。アクティビティにいくつかのEditTextがあります。また、ユーザーがフォントサイズのサイズを変更するオプションがあります。ユーザーが大きいフォントを選択してから小さいフォントに戻ると、EditTextのウィジェットの高さは、小さいフォントに対応するために縮小されません(余分なパディング)。私はいくつかのデバイスでこの動作を観察しただけです。ほとんどは問題なく動作します。何かアドバイス?私はこれを見つけました。TextViewのサイズ変更はAndroid3.1でその高さを縮小しません。これは関連していると思いますが、提案されたエスケープコードを追加しても効果がないようです。ありがとう!

追加した:

    <LinearLayout
        android:id="@+id/linearLayout_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center_horizontal"
        android:focusableInTouchMode="true"
        android:descendantFocusability="beforeDescendants"
        android:background="@drawable/yellow" >

        <EditText
            android:id="@+id/editText_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginTop="4dp"
            android:minWidth="@dimen/add_note_min_width"
            android:textSize="18dip"
            android:background="#fa0"
            android:ems="10"
            android:hint="@string/title"
            android:inputType="text"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/editText_body"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginTop="0dp"
            android:gravity="top"
            android:minWidth="@dimen/add_note_min_width"
            android:minHeight="@dimen/add_note_min_height"
            android:textSize="18dip"
            android:background="#af0"
            android:ems="10"
            android:hint="@string/body"
            android:inputType="textMultiLine" />
    </LinearLayout>

問題のコードのxmlは次のとおりです。上で述べたように、提供されたリンクで提案されているように、テキストの最後に(独立して)\ u3000、\ u2060、および\u200bのエスケープ文字を追加しようとしました。また、下部のEditTextをレイアウトの重み1に設定して、タイトルEditTextの下の余分なパディングを取り込もうとしました。EditTextの手動測定とサイズ変更を試みることを検討しましたが、これは特に少数のデバイスにしか影響しないため、ハッキーのようです。これはAndroidの実際のバグのようですが、これを確認したり、回避策を見つけたりすることはできませんでした。

4

1 に答える 1

0

私はついにこの問題を解決しました。リンクした他の投稿で示唆されているように、回避策は、ビューのテキストに「\ u3000」、「\ u2060」、または「\u200b」を追加することです。これはTextViewsで正常に機能しますが、EditTextがヒントを利用する場合は、特殊文字もヒントに追加する必要があります(私はテキストにのみ追加していました)。これが他の誰かに役立つことを願っています。

于 2013-03-14T04:04:43.907 に答える