Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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
Android 文本输入文本,如何将提示与上边距对齐_Android_Android Layout_Android Textinputlayout_Material Components Android_Android Textinputedittext - Fatal编程技术网

Android 文本输入文本,如何将提示与上边距对齐

Android 文本输入文本,如何将提示与上边距对齐,android,android-layout,android-textinputlayout,material-components-android,android-textinputedittext,Android,Android Layout,Android Textinputlayout,Material Components Android,Android Textinputedittext,如果我使用上一个材质库版本com.google.android.material:material:1.2.0-alpha02,我会遇到一些问题,无法处理TextInputItemText和他的提示消息。。我设置了5行可滚动文本输入文本,我想显示提示消息对齐到文本输入的上边距。布局编辑器显示在正确的位置,但当我运行应用程序时,位置是垂直居中的。为什么? 相反,我不会在com.google.android.material:material:1.1.0-beta02上遇到这个问题 这是我的布局:

如果我使用上一个材质库版本com.google.android.material:material:1.2.0-alpha02,我会遇到一些问题,无法处理TextInputItemText和他的提示消息。。我设置了5行可滚动文本输入文本,我想显示提示消息对齐到文本输入的上边距。布局编辑器显示在正确的位置,但当我运行应用程序时,位置是垂直居中的。为什么?

相反,我不会在com.google.android.material:material:1.1.0-beta02上遇到这个问题

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    android:id="@+id/sendMailContainer"
    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:layout_width="match_parent"
    android:layout_height="wrap_content">

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


        <TextView
            android:id="@+id/popupTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dp"
            android:layout_marginTop="20dp"
            android:text="@string/sendBusinessCard"
            android:textColor="@android:color/black"
            android:textSize="22sp" />

        <TextView
            android:id="@+id/subTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/sendBusinessCard"
            android:textColor="@android:color/black"
            android:textSize="18sp"
            android:layout_below="@+id/popupTitle"
            android:layout_marginEnd="40dp"
            android:layout_marginStart="40dp"
            android:layout_marginTop="20dp"/>

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/noteMessageContainer"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/subTitle"
            android:layout_marginEnd="40dp"
            android:layout_marginStart="40dp"
            android:layout_marginTop="10dp">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/noteMessage"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/emailText"
                android:inputType="text|textMultiLine|textCapSentences"
                android:textColor="@android:color/black"
                android:textColorHint="@color/gray9B"
                android:textSize="16sp"
                android:isScrollContainer="true"
                android:scrollbars="vertical"
                android:textIsSelectable="true"
                android:minLines="5"
                android:maxLines="5"
                android:gravity="top"/>

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

        <Button
            android:id="@+id/notePopupLeftButton"
            android:layout_width="180dp"
            android:layout_height="35dp"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/noteMessageContainer"
            android:layout_marginBottom="20dp"
            android:layout_marginStart="20dp"
            android:layout_marginTop="40dp"
            android:background="#FF515151"
            android:text="@string/Cancel"
            android:textAllCaps="true"
            android:textColor="@android:color/white"
            android:textSize="16sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/notePopupRightButton"
            android:layout_width="180dp"
            android:layout_height="35dp"
            android:layout_alignParentEnd="true"
            android:layout_below="@+id/noteMessageContainer"
            android:layout_marginBottom="20dp"
            android:layout_marginEnd="20dp"
            android:layout_marginTop="40dp"
            android:background="#FF515151"
            android:text="@string/Send"
            android:textAllCaps="true"
            android:textColor="@android:color/white"
            android:textSize="16sp"
            android:textStyle="bold" />

    </RelativeLayout>
</ScrollView>

这是两个屏幕截图,一个布局编辑器的提示位置正确,另一个是应用程序屏幕截图:

在此处输入您可以使用的代码

android:gravity="top|start" 

属性,它将充当容器的底层控制属性,并将提示带到左上角。

将android:gravity=“top | start”
添加到布局XML文件中的EditText中。

在EditText/TextInputText中添加此代码:

android:gravity="top|start"

材质:1.2.0-alpha02,我尝试了android:gravity=“top | start”,但没有成功。材质:1.2.0-alpha01,安卓:gravity=“top”足以让它工作。我不确定会发生什么,它应该与版本
1.2.0-alpha02
:[
TextInputLayout
]引入的这一点相关,添加了对折叠标签位置的支持,通过编辑文本重力来确定,例如“水平中心”。@GabrieleMariotti您认为这是一个错误还是一种功能?o。O@aeroxr1我不确定。在大多数情况下,TextInputLayout只使用一行,并不影响这种情况。在您的案例中,只要遵循材料指南,它就应该垂直居中。@GabrieleMariotti on material Guidence写道,我们应该为多行编辑文本使用文本区域。但是,在不使用TextInputItemText的情况下,如何创建材质设计文本区域?你试过1.2.0-alpha02吗?你试过1.2.0-alpha02吗?