我有一个EditText,其类型为numberDecimal。我希望在值的末尾有单位符号(例如m,km,kg,g)。我在stackoverflow找到了许多帖子,告诉我们使用TextWatcher或InputFilter,但我真正喜欢的是限制这个单位符号不能为用户编辑。
因此,当您在文本框中编辑值时,无法移动courser来操作/删除符号。它基本上不是价值的可编辑部分。
我确信这可以实现,但我不确定需要编写多少自定义代码才能使其正常工作。有没有SDK支持?
ISMAR
答案 0 :(得分: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替换为单位的文本框或图像按钮。
答案 1 :(得分:0)
感谢您的提示。这是我的解决方案,我有一个线性布局,左边和右边有20个边距。在布局内部,我有一个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>