3

タイプnumberDecimalのEditTextウィッチが1つあります。値の末尾に単位記号 (m、km、kg、g など) を付けたいと思います。私は、TextWatcher または InputFilter を使用するように指示するスタックオーバーフローで多くの投稿を見つけましたが、私が本当に望んでいるのは、この単位記号をユーザーが編集できないように制限することです。

そのため、テキストボックスの値を編集すると、コースを移動してシンボルを操作/削除することはできません。基本的に、値の編集可能な部分ではありません。

これは実現可能だと確信していますが、それを機能させるためにどれだけのカスタム コードを書く必要があるかはわかりません。これに対する SDK サポートはありますか?

イスマール

4

2 に答える 2

0
        <LinearLayout
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="0.70"
            android:gravity="center_horizontal"
            android:padding="4dip" >

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >

                <EditText
                    android:id="@+id/browseurl"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="5dip"
                    android:imeOptions="actionGo"
                    android:textColor="#BCBCBC"
                    android:textSize="14dip"
                    android:typeface="serif" />

                <ImageButton
                    android:id="@+id/cross"
                    android:layout_width="25dip"
                    android:layout_height="25dip"
                    android:layout_alignParentRight="true"
                    android:layout_centerInParent="true"
                    android:background="@android:drawable/ic_menu_close_clear_cancel"
                    android:clickable="true"
                    android:focusable="false" />
            </RelativeLayout>
        </LinearLayout>

ImageButton をユニットのテキスト ボックスまたはイメージ ボタンに置​​き換えます。

于 2012-12-25T02:22:11.473 に答える
0

ヒントをありがとう。これが私の解決策です。左右に20ディップのマージンを持つ1つの線形レイアウトがあります。レイアウト内には、1 つの EditText と 1 つの TextViw があります。EditText の weight を 1 に設定して、親ビューの残りのスペースを埋めます。

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="20dip"
    android:layout_marginRight="20dip"
    android:orientation="horizontal" >

    <EditText
        android:id="@+id/value_edittext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:inputType="numberDecimal"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/value_unit_symbol"
        android:layout_width="wrap_content"
        android:layout_height="25dip"
        android:text="kg"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
于 2012-12-25T08:37:21.303 に答える