【问题标题】:Put TextView inside EditText将 TextView 放入 EditText
【发布时间】:2013-03-10 05:49:15
【问题描述】:

请告诉我,我怎样才能将文本放在这样的 EditText 中

并且只能编辑正确的文本。

【问题讨论】:

    标签: android android-edittext textview


    【解决方案1】:

    将 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>
    

    如果你有任何更改,请更改它

    【讨论】:

    • 谢谢。我认为这是最好的方法
    【解决方案2】:

    试试这个...

    布局:

    <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);
      

      【讨论】:

        【解决方案4】:

        你需要结合 3 个组件:

        • 容器:使用RelativeLayout,因为它允许视图重叠。
        • TextView 与 RelativeLayout 的右边缘对齐(宽度 = wrap_content)
        • 一个 EditText 占据了 RelativeLayout 的整个宽度 (width = match_parent)

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

        【讨论】:

          【解决方案5】:

          为什么不使用setText() 设置文本并保持左侧部分不变?

          【讨论】:

            【解决方案6】:

            我假设您询问如何将文本放入 TextView 中,以编程方式完成

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

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

            【讨论】:

              猜你喜欢
              • 2013-12-03
              • 1970-01-01
              • 2019-04-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-09-07
              • 2021-05-30
              • 1970-01-01
              相关资源
              最近更新 更多