6

我有这个 XML 布局:

 <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layoutDirection="locale" 
        android:textDirection="rtl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".app.storey.view.StoreyInsertFragment">

    <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="somthing"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginEnd="8dp"
            android:layout_marginTop="8dp"
            app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="8dp"
            app:layout_constraintHorizontal_bias="0.0" 
            app:layout_constraintTop_toTopOf="parent">

        <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

    </com.google.android.material.textfield.TextInputLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

我想hint在右侧显示文字,但使用后layoutDirection仍然textAlignment显示在左侧,我该怎么做?

我看到了这个链接,但没有解决我的问题。

4

4 回答 4

1
    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/text_input_user_name"
        style="@style/LoginInputLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_marginStart="@dimen/margin_editText_end_start"
        android:layout_marginTop="@dimen/margin_end_edit_text"
        android:layout_marginEnd="@dimen/margin_editText_end_start"
        android:layout_marginBottom="@dimen/margin_end_edit_text"

        app:hintAnimationEnabled="true"
        app:hintEnabled="true"
        >

        <androidx.appcompat.widget.AppCompatEditText
            android:id="@+id/edt_user_name"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center|start"
            android:gravity="center|start"
            android:textAlignment="center"
            android:hint="@string/user_name"
            android:inputType="textMultiLine"
            android:maxLength="8"
            android:padding="20dp"
            android:textColor="@color/ches_white"
            android:textColorHint="@color/ches_white"
            android:textSize="@dimen/text_size_login"/>
于 2019-02-11T09:52:08.023 回答
0
<android.support.design.widget.TextInputLayout
                    android:id="@+id/til_name"
                    style="@style/TextInputLabel2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/dimen_20dp"                       
                    android:textColorHint="@color/gray_10"
                    app:hintEnabled="true"
                    app:hintTextAppearance="@style/CustomTextAppearance2">

                    <android.support.v7.widget.AppCompatEditText
                        android:id="@+id/et_name"
                        style="@style/EditTextStyleWrap"
                        android:background="@android:color/transparent"
                        android:backgroundTint="@color/hint_line"
                        android:digits="@string/accepted_type"
                        android:gravity="end"
                        android:inputType="textPersonName"
                        android:letterSpacing="0.06"
                        android:maxLength="50"
                        android:nextFocusLeft="@+id/et_name"
                        android:nextFocusUp="@id/et_name"
                        android:textScaleX="1"
                        android:hint="name"
                        android:imeOptions="actionNext"
                        app:et_font="@{@string/font_sans_regular}"
                        tools:targetApi="lollipop" />
                </android.support.design.widget.TextInputLayout>
于 2019-02-11T09:57:57.510 回答
0

如果您使用的是 api > 17,请尝试将以下属性设置为您的 EditText

android:textDirection="anyRtl"
android:layoutDirection="rtl"

此外,您需要为 EditText 而不是 TextInputLayout 设置提示,并将重力设置为正确,如其他答案中所述。

于 2019-02-11T10:18:40.733 回答
0

用于 android:textAlignment="viewStart"TextInputEditText 字段。

于 2022-02-15T09:06:53.783 回答