我有两个视图,使用了TextInputLayout
。第一个是登录视图,只有2个输入字段,第二个是注册视图,有许多输入字段。我使用TextInputLayout
和自定义主题的EditText
/AppCompatEditText
来进行输入。
问题在于,当我在我的注册界面上点击EditText
时,会出现一种默认的TextInputLayout
动画卡顿/波动的问题。我在LoginScreen
中没有遇到这种卡顿,但我使用的代码几乎相同,所以我认为问题在于输入数量。你有什么想法或思路吗?
这是我的注册代码:
<LinearLayout 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="match_parent"
android:orientation="vertical"
tools:context=".activities.MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:title="Register as shipper"
app:titleTextColor="@color/white" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/space">
<View
android:layout_width="0px"
android:layout_height="0px"
android:focusable="true"
android:focusableInTouchMode="true" />
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/fullNameEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="@string/shipper_register_full_name"
android:inputType="text"
android:nextFocusLeft="@id/fullNameEdit"
android:nextFocusUp="@id/fullNameEdit"
android:theme="@style/EditText" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/companyNameEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="@string/shipper_register_company_name"
android:theme="@style/EditText" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/phoneNumberEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="@string/shipper_register_phone_number"
android:theme="@style/EditText"
android:inputType="phone" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/emailEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="@string/shipper_register_email"
android:theme="@style/EditText"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/passwordEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="@string/shipper_register_password"
android:theme="@style/EditText"
android:inputType="textPassword" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/addressEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="@string/shipper_register_address"
android:theme="@style/EditText"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/typeSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp" />
<Button
android:id="@+id/registerBtn"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="@dimen/space"
android:text="@string/shipper_register_register"
android:theme="@style/ButtonPrimary" />
</LinearLayout>
</ScrollView>
并且登录:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/space">
<ImageView
android:layout_width="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:src="@drawable/logo_color"
android:layout_height="wrap_content" />
<View
android:layout_width="0px"
android:layout_height="0px"
android:focusable="true"
android:focusableInTouchMode="true" />
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/emailEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/login_email"
android:inputType="textEmailAddress"
android:theme="@style/EditText" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/hintTextOnLightBackgrounds"
app:hintTextAppearance="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/passwordEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="@string/login_password"
android:inputType="textPassword"
android:theme="@style/EditText" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/loginBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/login_login"
android:theme="@style/ButtonPrimary" />
<Button
android:id="@+id/shipperRegisterBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/login_register_as_shipper"
android:theme="@style/ButtonPrimary" />
<Button
android:id="@+id/carrierRegisterBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/login_register_as_carrier"
android:theme="@style/ButtonPrimary" />