将TextView放置在EditText中

4
请告诉我,如何将文本放入 EditText 中,类似于这样的形式。

image

只有正确的文本才能被编辑。

6个回答

8

将 TextView 和 EditText 放置在相对布局中,并根据需要进行调整。

示例:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/Edittext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="To my first character" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/Edittext"
        android:layout_alignBottom="@+id/Edittext"
        android:layout_alignParentRight="true"
        android:text="123123" />

</RelativeLayout>

如果您有任何更改,请修改它。


4

Try this...

Layout:

<FrameLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginEnd="8dp"
     android:layout_marginStart="8dp" >

        <EditText
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="@string/mobile"
            android:inputType="phone"
            android:background="@drawable/some_edittext_background"
            android:labelFor="@+id/editText"
            android:maxLength="9"
            android:paddingBottom="8dp"
            android:paddingStart="48dp"
            android:paddingEnd="8dp"
            android:paddingTop="8dp" >
                <requestFocus />
            </EditText>

        <TextView
            android:id="@+id/prefix"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:paddingStart="8dp"
            android:text="+971" />
</FrameLayout>

结果:

启用

聚焦


3
EditText editText = (EditText)findViewById(R.id.edit_text);
editText.setText("Количество", TextView.BufferType.EDITABLE);

1
你需要组合三个组件:
  • 容器:使用RelativeLayout,因为它允许视图重叠。
  • 一个TextView对齐到RelativeLayout的右边缘(宽度=wrap_content)
  • 一个EditText占据RelativeLayout的全部宽度(宽度=match_parent)

将文本放入EditText中:myEditText.setText("myText")


0
为什么不直接使用setText()来设置文本并保持左侧不变呢?

-2

我猜你是在问如何将文本放入TextView中,编程上可以这样实现

textView.setText("anything you want..."); //enter a string into parameters

其中textView是TextView类的一个实例。


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