TextInputLayout浮动标签重力

时间:2016-03-29 12:59:32

标签: android android-layout

我在Android 4.1上的设计支持库中遇到了一些TextInputLayout问题。

所以,我有一个带有两个TextInputLayout的简单布局。我想提出正确的提示,因为文本是阿拉伯语。

我设法通过使用gravity =“right”将提示放在右边。但是当EditText聚焦时,我注意到浮动标签的奇怪行为。

浮动标签仍然贴在屏幕左侧。

如何在右边同时提供提示和浮动标签?

这是我的布局:

<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.aurelien.testblablabla.MainActivity">

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="end"
            android:hint="جزر"/>
    </android.support.design.widget.TextInputLayout>
    <android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="end"
            android:hint="تفاحة"/>
    </android.support.design.widget.TextInputLayout>
</LinearLayout>

结果如下:

enter image description here

我正在使用com.android.support:design:23.1.1

谢谢

3 个答案:

答案 0 :(得分:0)

我相信您无法自定义标签位置TextInputLayout。无论哪种方式,如果您使用TranslationY,即使这不适合更改浮动标签位置,因为它将转换任何视图。

答案 1 :(得分:0)

有可能。

在EditText上使用android:gravity =“ right”

我是这样做的:

<android.support.design.widget.TextInputLayout
        android:id="@+id/ti_cvv"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:layout_marginRight="8dp"
        android:layout_marginTop="16dp"
        app:layout_constraintLeft_toLeftOf="@id/guideline"
        app:layout_constraintRight_toRightOf="@+id/guideline_center"
        app:layout_constraintTop_toBottomOf="@+id/ti_credit_card_number"
        >

        <android.support.design.widget.TextInputEditText
            android:id="@+id/et_cvv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="number"
            android:gravity="right"
            android:hint="@string/cvv"
            android:textColor="@color/white"
            tools:text="XXXX"/>

    </android.support.design.widget.TextInputLayout>

答案 2 :(得分:0)

使用布局方向解决您的问题

 <android.support.design.widget.TextInputLayout
        android:id="@+id/img_edit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:errorEnabled="true"
        app:helperText="URL"
        android:layoutDirection="ltr"
        app:helperTextEnabled="true">