我有一个 EditText 女巫是 numberDecimal 类型。我想在值的末尾加上单位符号(例如 m、km、kg、g)。我在 stackoverflow 上发现了很多帖子,告诉使用 TextWatcher 或 InputFilter,但我真正想要的是限制这个单位符号对用户不可编辑。
因此,当您在文本框中编辑值时,您无法移动课程来操作/删除符号。它基本上不是值的可编辑部分。
我确信这是可以实现的,但我不确定我需要编写多少自定义代码才能使其工作。是否有任何 SDK 支持?
伊斯马尔
我有一个 EditText 女巫是 numberDecimal 类型。我想在值的末尾加上单位符号(例如 m、km、kg、g)。我在 stackoverflow 上发现了很多帖子,告诉使用 TextWatcher 或 InputFilter,但我真正想要的是限制这个单位符号对用户不可编辑。
因此,当您在文本框中编辑值时,您无法移动课程来操作/删除符号。它基本上不是值的可编辑部分。
我确信这是可以实现的,但我不确定我需要编写多少自定义代码才能使其工作。是否有任何 SDK 支持?
伊斯马尔
<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 替换为单位的文本框或图像按钮。
感谢您的提示。这是我的解决方案,我有一个左右两侧有 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>