目前没有办法做到这一点。如果您查看TextInputLayout source,您会发现提示会考虑到父视图的复合填充。CollapsingTextHelper不是布局的公共API的一部分,因此您无法轻松更改其行为。
您最好的选择是改变对此填充的要求,或使用某种自定义布局来在努力和效果之间达成妥协。
TextInputLayout
左侧的单独的ImageView
中,以便您的文本正确对齐。 - npaceImageView
,但问题是,无论我是将 EditText
定位在 ImageView
之后还是给它一些额外的左填充以出现在 ImageView
之后,问题都是相同的,提示将根据 EditText
文本显示。 - BST KaalImageSpan
将图标渲染为EditText的第一个“单词” - 但是你必须确保用户无法删除它。然而,这会导致很多调试和头痛问题... - npace尝试下面的代码
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_marginTop="20dp"
android:layout_height="54dp"
android:gravity="bottom"
android:paddingTop="4dp"
android:clipToPadding="false" // above 3 lines are important
android:id="@+id/emailWrapper"
app:hintTextAppearance="@style/floatingLabel">
<EditText
android:layout_width="match_parent"
android:layout_height="54dp"
android:paddingLeft="17dp"
android:paddingRight="17dp"
android:id="@+id/txtEmail"
android:singleLine="true"
android:inputType="textEmailAddress"
android:hint="@string/emailPlaceholder"
android:text="a@a.com"
android:background="@drawable/btn_empty_stroke" />
</android.support.design.widget.TextInputLayout>
hintTextAppearance
,但它只能改变文本的大小/颜色。我也尝试给TextInputLayout
本身设置左填充=0dp,但这并没有起作用。 - BST Kaal