Java 为什么editText中的文本没有水平居中?
我有一个简单的xml块:Java 为什么editText中的文本没有水平居中?,java,android,android-layout,layout,textview,Java,Android,Android Layout,Layout,Textview,我有一个简单的xml块: <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center"> <EditText
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<EditText
android:id="@+id/verificationCodeEditText"
style="@style/textOnBg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:inputType="phone"
android:textColor="#516063"
android:textColorHint="#b4c8cf"
android:imeOptions="actionSend"
android:layout_gravity="center"
android:textSize="25dp" >
</EditText>
</LinearLayout>
但是,当我将文本放入此editText时,光标有点向左
只有在填充80%的编辑文本后,文本才会居中
<style name="textOnBg" parent="android:Widget.TextView">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#32717f</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">18sp</item>
</style>
包装内容
包装内容
#32717f
大胆的
18便士
更新
试过这个:但没用
<EditText
android:id="@+id/verificationCodeEditText"
style="@style/textOnBg"
android:layout_width="match_parent"
在重力产生影响之前,您可能需要为编辑文本指定一个设置宽度。将其设置为fill\u parent
并查看其是否有任何影响。在重力产生影响之前,您可能需要为编辑文本指定一个设置宽度。将其设置为fill\u parent
并查看是否有任何效果。请尝试
android:gravity="center_horizontal"
请试一试
android:gravity="center_horizontal"
试试这个
将android:layout\u width=“match\u parent”
和android:gravity=“center”
交给您的EditText
<EditText
android:id="@+id/verificationCodeEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:imeOptions="actionSend"
android:inputType="phone"
android:text="sdfsdfsdf"
android:textColor="#516063"
android:gravity="center"
android:textColorHint="#b4c8cf"
android:textSize="25dp" >
</EditText>
试试这个
将android:layout\u width=“match\u parent”
和android:gravity=“center”
交给您的EditText
<EditText
android:id="@+id/verificationCodeEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:imeOptions="actionSend"
android:inputType="phone"
android:text="sdfsdfsdf"
android:textColor="#516063"
android:gravity="center"
android:textColorHint="#b4c8cf"
android:textSize="25dp" >
</EditText>
试试看
<EditText
android:id="@+id/verificationCodeEditText"
style="@style/textOnBg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:gravity="center_horizontal"
android:imeOptions="actionSend"
android:inputType="phone"
android:textColor="#516063"
android:textColorHint="#b4c8cf"
android:textSize="25dp" >
</EditText>
试试看
<EditText
android:id="@+id/verificationCodeEditText"
style="@style/textOnBg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:gravity="center_horizontal"
android:imeOptions="actionSend"
android:inputType="phone"
android:textColor="#516063"
android:textColorHint="#b4c8cf"
android:textSize="25dp" >
</EditText>
您可以这样设置重力:
android:gravity="center_horizontal"
可以按如下方式设置重力:
android:gravity="center_horizontal"
试试这个:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<EditText
android:id="@+id/verificationCodeEditText"
style="@style/textOnBg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:gravity="center"
android:imeOptions="actionSend"
android:inputType="phone"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:textColor="#516063"
android:textColorHint="#b4c8cf"
android:textSize="25dp" >
</EditText>
</LinearLayout>
</RelativeLayout>
希望这将有助于:)
尝试以下方法:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<EditText
android:id="@+id/verificationCodeEditText"
style="@style/textOnBg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:gravity="center"
android:imeOptions="actionSend"
android:inputType="phone"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:textColor="#516063"
android:textColorHint="#b4c8cf"
android:textSize="25dp" >
</EditText>
</LinearLayout>
</RelativeLayout>
希望这将有助于:)
使用此:
android:layout_centerHorizontal="true"
使用以下命令:
android:layout_centerHorizontal="true"
我是说编辑文本。sorryset width to fill parent,然后尝试:android:layout\u width=“fill\u parent”您可以发布您的样式textOnBg
?问题有两个部分。您尚未指定使用重力将文本居中,除非编辑文本的宽度不仅仅是文本的长度。。然后左对齐和居中是一样的。您应该在编辑文本和线性布局上使用match\u parent
width,但这取决于您想要编辑文本的总体布局。sorryset width to fill parent,然后尝试:android:layout\u width=“fill\u parent”您可以发布您的样式textOnBg
?问题有两个部分。您尚未指定使用重力将文本居中,除非编辑文本的宽度不仅仅是文本的长度。。然后左对齐和居中是一样的。您应该在编辑文本和线性布局时使用match\u parent
width,但这取决于您选择的总体布局want@EladBenda在editText
中没有任何gravity
属性,只有layout\u gravity
,如果希望文本位于editText的中心,则使用此属性是不同的。使用layout_gravity只会更改视图重力,而不会更改视图内部的任何内容。为什么需要宽度:match_parent?@EladBenda您在editText
中没有任何gravity
属性,只有layout_gravity
,如果您希望文本位于editText的中心,则需要使用此属性。使用layout\u gravity它只改变视图重力,而不改变视图内部的任何内容。为什么需要宽度:匹配\u父项?@EladBenda我还添加了android:gravity=“center”
@EladBenda无需指定宽度,因为match\u父项
您可以使用wrap\u内容
also@EladBenda我还添加了android:gravity=“center”
@EladBenda无需提供宽度作为匹配\u父项
您可以使用包装内容
另外,父项是线性布局,您的建议仅适用于相对布局。父项是线性布局,您的建议仅适用于相对布局。。