Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么editText中的文本没有水平居中?_Java_Android_Android Layout_Layout_Textview - Fatal编程技术网

Java 为什么editText中的文本没有水平居中?

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

我有一个简单的xml块:

                <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父项
您可以使用
包装内容
另外,父项是线性布局,您的建议仅适用于相对布局。父项是线性布局,您的建议仅适用于相对布局。。