我需要将提示文本置于Android中的EditText
中。我该怎么做?
答案 0 :(得分:71)
为了使提示文本居中与EditText一起使用,你必须确保定义了android:ellipsize =“start”。我不知道为什么这会使它起作用,但确实如此。
从个人代码中提取的示例:
<EditText
android:id="@+id/player2Name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:ellipsize="start"
android:gravity="center_horizontal"
android:hint="@string/player2_name"
android:inputType="textCapWords|textPersonName"
android:singleLine="true" />
答案 1 :(得分:35)
实际上android:gravity="center_horizontal"
会产生“中心”效应。你可以使用
机器人:比重= “开始”
将提示文本放在EditText视图的开头,依此类推。
答案 2 :(得分:29)
使用此xml属性:
机器人:比重= “中心”
答案 3 :(得分:10)
使用属性
android:gravity="center"
答案 4 :(得分:9)
我在任何情况下都使用此代码,并且在没有使用 android:ellipsize =“start”在中心进行提示的情况下完美运行。
<EditText
android:id="@+id/player2Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:hint="robi"
android:inputType="text" />
答案 5 :(得分:5)
我认为答案应该是:
android:textAlignment="center"
答案 6 :(得分:5)
textAlignment为我工作。
cdev = cdev_alloc();//allocate memory to Char Device structure
cdev->ops = &fops;//link our file operations to the char device
result=cdev_add(cdev,mydev,1);//Notify the kernel abt the new device
答案 7 :(得分:4)
不幸的是,这两个答案都没有帮我调整用LTR语言编写的提示,而布局方向是RTL。我在一种翻译应用程序中需要这样的布局,以使叠加图标不会干扰RTL文本。但是这个技巧不适用于提示,而没有任何文本(图标出现在提示上方),我来到以下java解决方案来布局问题:
actions
诀窍在于从右向左标记,以预先添加从左到右的字符串。它似乎有效,但是有人知道更优雅的解决方案吗?
答案 8 :(得分:4)
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="ENTER PIN"
android:inputType="numberPassword" />
</android.support.design.widget.TextInputLayout>
注意:在标签TextInputEditText中,属性
机器人:比重= “中心”
是协调文本在中心的交易,包括提示文本
答案 9 :(得分:4)
使用这个:android:gravity =“center”
答案 10 :(得分:2)
在EditText中使用android:textAlignment="center"
,它适用于我
答案 11 :(得分:1)
这对我有用:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/nombreslayoutinput">
<EditText
android:id="@+id/nombreslayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/nombres"
android:layout_centerInParent="true"
android:gravity="center|center_vertical"
android:ellipsize="start"
android:inputType="textCapWords|textPersonName"
/>
</android.support.design.widget.TextInputLayout>
答案 12 :(得分:1)
我用这个为我工作
android:gravity="Left|center_vertical"
答案 13 :(得分:1)
正确答案是
android:gravity="center_horizontal
答案 14 :(得分:0)
我的问题是EditText
的大小不足以完全适合其父对象(在我的情况下为FrameLayout
),因此仅使用android:gravity="center"
(center_vertical,horizontal,start,或其他任何形式)仅适合放在EditText
的内部,而不适合其父级,因此我不得不使用以下方法将EditText
置于其父级的中心:
android:layout_gravity="center"
pd:我用android:background="@android:color/transparent"
隐藏了EditText
提示中难看的下划线