3

在我的 android 项目中,我想要一个 personname 类型的文本字段,默认情况下会激活大写锁定,但是,此代码不起作用。

<EditText
    android:id="@+id/txt_user_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName" >

    <requestFocus />
</EditText>

为什么这不起作用?

编辑:这是显示文件内容的 xml 代码

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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="@string/t_registration"
        android:textSize="25dp"
        android:textStyle="bold"
        android:paddingTop="7dp" 
        android:paddingBottom="7dp"/>


    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:stretchColumns="1" >
        <TableRow
            android:id="@+id/tableRow0"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_user_name"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.0"
                android:text="User Name * :   " />


            <EditText
                android:id="@+id/txt_user_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName" >

                <requestFocus />
            </EditText>



        </TableRow>
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_first_name"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.0"
                android:text="First Name * :   " />

            <EditText
                android:id="@+id/txt_first_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:drawable/editbox_background"
                android:inputType="textPersonName" >
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_last_name"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.0"
                android:text="Last Name * :   " />

            <EditText
                android:id="@+id/txt_last_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:drawable/editbox_background"
                android:inputType="textPersonName" >
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_email_address"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.0"
                android:text="Email Address:   " />

            <EditText
                android:id="@+id/txt_email_address"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:drawable/editbox_background"
                android:inputType="textEmailAddress" >

            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_school_id"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.0"
                android:text="school_id * :   " />

            <EditText
                android:id="@+id/txt_school_id"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:drawable/editbox_background"
                android:inputType="text" >
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_password"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.0"
                android:text="Password * :   " />

            <EditText
                android:id="@+id/txt_password"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:drawable/editbox_background"
                android:inputType="textPassword" >

            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_confirm_password"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.0"
                android:text="Confirm password * :   " />

            <EditText
                android:id="@+id/txt_password2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:drawable/editbox_background"
                android:inputType="textPassword" >"
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lbl_image_select"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="0.0"
                android:text="Image Select * :   " />

            <Button
                android:id="@+id/b_image_browse"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_margin="1dp"
                android:padding="10dp"
                android:text="@string/b_image_browse"
                android:textSize="15dp"
                android:onClick="b_image_browse_action" />

        </TableRow>           

    </TableLayout>

    <EditText
        android:id="@+id/txt_image_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:ems="10" 
        android:hint="Image File Path"
        android:inputType="text" >
    </EditText>


    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         >


       <Button
           android:id="@+id/b_reg_Cancel"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentLeft="true"
           android:layout_alignParentTop="true"
           android:layout_margin="10dp"
           android:layout_marginLeft="30dp"
           android:padding="10dp"
           android:text="@string/b_reg_Cancel"
           android:textSize="15dp"
           android:onClick="b_reg_Cancel_action" />

        <Button
            android:id="@+id/b_reg_Submit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_margin="10dp"
            android:layout_marginRight="100dp"
            android:padding="10dp"
            android:text="@string/b_reg_Submit"
            android:textSize="15dp" 
            android:onClick="b_reg_Submit_action"/>

    </RelativeLayout>



</LinearLayout>
4

4 回答 4

15

采用

android:inputType="textPersonName|textCapWords"

因为仅使用"textPersonName"是不够的,所以名称的第一个字母将大写。

与邮政地址类似:

android:inputType="textPostalAddress|textCapSentences"
于 2014-08-14T08:30:24.003 回答
1

如果您尝试正常显示人名,请尝试以下操作android:capitalize="words":如果您想全部大写,您可以更改wordscharacters或像 LuxuryMode 先生所说的那样做!

编辑:

您应该删除android:inputType="textPersonName"字段。它会起作用的!

于 2012-07-26T02:17:15.173 回答
1

我用这个作为大写字母,没有任何建议

android:inputType="textCapWords|textNoSuggestions"

例如Tom Hanks

于 2015-08-22T14:01:46.660 回答
0

如果你想要全部大写,只需使用android:textAllCaps="true"

于 2012-07-26T02:07:45.200 回答