【发布时间】:2012-01-27 22:17:23
【问题描述】:
我想要一个编辑文本,其中标签“名称”显示在编辑文本的左侧,输入从右到左输入
如果我将 android:gravity 设置为 right ,则输入是从右到左。但在这种情况下,标签,即任何作为 android:text 给出的 edittext 也将右对齐。
如果我使用 android:hint 并将 android:gravity 设置为正确,则根本不会显示提示。
在左侧获取标签并在右侧输入的选项是什么。
【问题讨论】:
我想要一个编辑文本,其中标签“名称”显示在编辑文本的左侧,输入从右到左输入
如果我将 android:gravity 设置为 right ,则输入是从右到左。但在这种情况下,标签,即任何作为 android:text 给出的 edittext 也将右对齐。
如果我使用 android:hint 并将 android:gravity 设置为正确,则根本不会显示提示。
在左侧获取标签并在右侧输入的选项是什么。
【问题讨论】:
使用表格布局
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1" >
<TableRow android:layout_marginTop="20dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lblUser" />
<EditText
android:id="@+id/UserNameField"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginRight="30dp"
android:layout_x="68dp"
android:layout_y="40dip"
android:inputType="textEmailAddress"
android:lines="1"
android:maxLines="1"
android:maxWidth="150dip"
android:minWidth="230dip" >
</EditText>
</TableRow>
</TableLayout>
【讨论】:
我不了解有关 android 的所有信息,但我仍然认为这是不可能的,因为你想在 1 个单曲 EditText 中设置 Gravity,不同的单词不同(name 到左边和文本向右)
我想要得到相同结果的想法是,
1) 请您的设计师为您制作一个屏幕宽度和所需高度的白色圆角矩形,以及另一个带有橙色边框的相同图像(如您在选择任何编辑文本时看到的那样)
2) 现在,在 xml 文件中取一个 <LinearLayout>,将第一个图像设置为此布局的背景,并在该布局中设置 Take 1 TextView(for Name:) and EditText(to input) 并设置 TextView - EditText 背景颜色为透明,哦是的,如您所愿,为 EditText 赋予正确的重力
3) 为 EditText 背景编写一个 xml 选择器文件,而不是默认的橙色,将焦点 bg 设置为透明。(所以当焦点时没有人会识别出这个 edittext 在布局内)
4) 并为 LinearLayout 编写选择器 xml,并将焦点背景可绘制设置为您的第二张图像。
你会在屏幕上看到你想要的。
注意事项: 如果这是您客户的设计,那么没关系,如果是您自己的,那么我不赞成您。 请不要让我写例子。
【讨论】:
采用水平方向的线性布局并添加两个垂直方向的线性布局,第一个布局将具有“左重力”和名称标签,另一个将具有编辑框和“右重力”。
【讨论】: