Android EditText将文本对齐到右侧,标签对齐到左侧

3
我想要一个编辑文本框,左侧显示“姓名”标签,输入从右到左进行。
如果将android:gravity设置为right,则输入会从右到左进行。但是在这种情况下,即使给edittext设置了android:text,标签也会右对齐。
如果使用android:hint,并将android:gravity设置为right,则提示根本不会显示。
有什么选项可以在左侧获取标签并在右侧获取输入?
3个回答

1

使用水平方向的线性布局,并添加两个垂直方向的线性布局。第一个布局将具有“左对齐”和名称标签,另一个布局将具有编辑框和“右对齐”。


你说的“box”是什么意思?我已经尝试过,它会给出期望的输出。 - abhishek ameta

1
使用表格布局。
    <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>

0

我不是关于Android的专家,但我认为按照您的要求,这种方式不可能实现,因为您想在一个单一的EditText中设置不同的文字(将名称放置在左侧,将文本放置在右侧)。

我的想法是获得相同的结果,方法如下:

1)请您的设计师为您制作一个屏幕宽度和所需高度的白色圆角矩形,以及另一个具有橙色边框的相同图像(在选择任何编辑文本时都会看到)

2)现在,在xml文件中取一个<LinearLayout>,将第一个图像设置为此布局的背景,并在该布局中取1个TextView(用于名称:)和EditText(用于输入),并将TextView - EditText背景颜色设置为透明,哦,对了,将EditText的右对齐设置为您所希望的方式

3)编写一个xml选择器文件,用于EditText背景,将焦点背景设置为透明。(因此,当聚焦时,没有人会认识到此edittext位于布局内)

4)编写选择器xml以及LinearLayout,并将焦点背景可绘制设置为您的第二个图像。

这样,您将在屏幕上看到您想要的效果。

注意: 如果这是你客户的设计,那就没问题;如果是你自己的设计,我不赞成。 请不要让我写示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接