Bir EditTextiç a kullanıyorum TextInputLayout, ancak destek kitaplığını 23.2.0'a yükselttikten sonra, logcat'te bu uyarıyı alıyorum, normal EditTextve a arasındaki fark nedir TextInputEditText? Bunun için herhangi bir belge bulamıyorum.
Bir EditTextiç a kullanıyorum TextInputLayout, ancak destek kitaplığını 23.2.0'a yükselttikten sonra, logcat'te bu uyarıyı alıyorum, normal EditTextve a arasındaki fark nedir TextInputEditText? Bunun için herhangi bir belge bulamıyorum.
Yanıtlar:
Bunu ben de merak ediyordum, Daniel Wilson belgeleri topladı, ancak eğitimsiz bir göz için bu pek bir şey ifade etmiyor. Her şey şununla ilgili: "ayıklama modu" , alan çok küçük olduğunda, örneğin bir telefondaki manzara gibi, gösterilen görünüm türünü ifade eder. Giriş yöntemi düzenleyicisi (IME) olarak Google Klavye ile Galaxy S4 kullanıyorum.
Odağa (Açıklamaya) bağlı olarak TextInputLayout, ipucunu düzenleyicinin dışına iten eylemi görebilirsiniz . Burada özel bir şey yok, TextInputLayoutyapılması gereken bu.
Adı düzenlerken, IME'nin düzenlemekte olduğunuz şey hakkında size bir ipucu vermediğini görebilirsiniz.
Açıklamayı düzenlediğinizde, IME'nin düzenlemekte olduğunuz şey hakkında size bir ipucu verdiğini görebilirsiniz.
İki alan arasındaki fark, EditTextVS türleridir TextInputEditText. Burada önemli olan TextInputLayout, içinde android:hintEditText'e sahip olmamasıdır, bu, TextInputEditTextbirkaç satırlık Java kodunun büyük bir fark yarattığı durumdur .
<android.support.design.widget.TextInputLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Item Name"
>
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Item Description"
>
<android.support.design.widget.TextInputEditText
android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:minLines="4"
android:scrollbars="vertical"
/>
</android.support.design.widget.TextInputLayout>
android:hintmülkün TextInputEditTextyerine girmesi gerekiyor TextInputLayout.
TextInputEditText, kullanıcı arayüzünün bir uygulama detayıdır.
Bunun için herhangi bir belge yoktur, ancak sınıf EditTexttek bir ekstra özellik ile normaldir:
Bu sınıfı kullanmak, IME'de "ayıklama" modundayken bir ipucu görüntülememize olanak tanır.
Özellikle EditorInfo.hintText. TextInputLayoutSınıfta, alt EditTextwidget'ın bir parçası olmak yerine ipucunu ve görünümünü belirtebileceğinizi fark edeceksiniz .
Bunu yapmanız gerekiyorsa, bir kullanmalısınız, TextInputEditTextböylece TextInputLayout.
Esasen aynı şeyler ama bence TextInputEditTextdaha fazla özelliği ve muhtemelen niteliği var. Olarak değiştirdim TextInputEditTextve her şey çalıştı ve standartta daha önce olduğu gibi göründü EditText.
Bu sorunu yaşadım ve xml dosyamdaki şu satırı sildim:
android: fitsSystemWindows = "true"
ve hata ortadan kalktı.