在EditText和TextView之前放置常量文本

时间:2016-12-29 06:19:33

标签: android android-layout android-edittext textview

我想在android中的 EditText TextView 视图小部件之前添加一些常量文本。是否可以使用XML属性或使用任何其他方式?

我想在taskname字段之前编写Task,如图所示。请点击以下链接查看图片    https://i.stack.imgur.com/tF0wH.png

5 个答案:

答案 0 :(得分:0)

<com.github.pinball83.maskededittext.MaskedEditText
                android:id="@+id/masked_edit_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="number"
                app:mask="8 (***) *** **-**"
                app:notMaskedSymbol="*"
                app:maskIcon="@drawable/abc_ic_clear_mtrl_alpha"
                app:maskIconColor="@color/colorPrimary"
                />
  

如何使用

app:mask = "8 (***) *** **-**"                     //mask
app:notMaskedSymbol = "*"                          //symbol for mapping allowed placeholders
app:replacementChar = "#"                          //symbol which will be replaced notMasked symbol e.g. 8 (***) *** **-** will be 8 (###) ### ##-## by default it assign to whitespace
app:deleteChar = "#"                               //symbol which will be replaced after deleting by default it assign to whitespace
app:format = "[1][2][3] [4][5][6]-[7][8]-[10][9]"  //set format of returned data input into MaskedEditText
app:maskIcon = "@drawable/abc_ic_clear_mtrl_alpha" //icon for additional functionality clean input or invoke additional screens
app:maskIconColor = "@color/colorPrimary"          //icon tint color
  

有关详情,请点击此处https://github.com/pinball83/Masked-Edittext

答案 1 :(得分:0)

没有一些示例代码,很难回答。一种解决方案可能是,将垂直LinearLayout与水平LinearLayout结合起来,如下例所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">

<TextView
    android:text="constant Text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/textView"/>

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:text="myEditText"
        android:ems="10"
        android:id="@+id/editText"
        android:layout_weight="1"/>

    <TextView
        android:text="myTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:layout_weight="1"/>

    </LinearLayout>

</LinearLayout>

答案 2 :(得分:0)

您可以使用所需的常量文字添加TextView,然后为输入添加TextViewEditText

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:textSize="16sp"
    android:textColor="@android:color/black"
    android:text="ConstantText"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText"
    android:textSize="16sp"
    android:textColor="@android:color/black"
    android:text="UserText"/>
</LinearLayout>

答案 3 :(得分:0)

使用RelativeLayout作为根布局。并将textview放在它下面。 添加Linearlayout并将edittext放在其中,将linearlayout放在textview的右侧。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    >


    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:textSize="17sp"
        android:text="Task:" />


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/text1"
        android:orientation="vertical">


        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter Task Name" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter Task Priority" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter Task Details" />


    </LinearLayout>

</RelativeLayout>

答案 4 :(得分:0)

这里是在其中输入文本后使EditText提示其标签的代码

 <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textEmailAddress"
                android:ems="10"
                android:id="@+id/login_field_email"
                android:hint="@string/login_email"/>
        </android.support.design.widget.TextInputLayout>

这里是TextAppearance.App.TextInputLayout将以下代码放在style.xml

<style name="TextAppearance.App.TextInputLayout" parent="TextAppearance.AppCompat">
    <item name="android:textColorHint">@color/white</item>
    <item name="android:textColor">@color/white</item>
    <item name="android:textColorHighlight">@color/white</item>
    <item name="android:textColorLink">@color/white</item>

在输入电子邮件之前 Before entering email 输入电子邮件后 After entering email