3

我有一个 EditText 女巫是 numberDecimal 类型。我想在值的末尾加上单位符号(例如 m、km、kg、g)。我在 stackoverflow 上发现了很多帖子,告诉使用 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

感谢您的提示。这是我的解决方案,我有一个左右两侧有 20dip 边距的线性布局。在布局内部,我有一个 EditText 和一个 TextViw。我在 EditText 上将权重设置为 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 回答