2

私はConstraintLayout内のサポート設計ライブラリからTextInputLayoutを使用しようとしましたが、エラーを得ています:制約レイアウトと設計支援ライブラリを使用して

android.widget.LinearLayout$LayoutParams 
cannot be cast to android.support.constraint.ConstraintLayout$LayoutParams 

どのように私はsupport.design.widgetと同じ機能を実現することができます。 TextInputLayoutではなくConstraintLayoutを使用していますか?

全レイアウトはここにある:http://pastebin.com/TjC0FAdS

問題は次のようになりますようにapp:layout_constraintLeft_toRightOfなど

<android.support.constraint.ConstraintLayout 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:id="@+id/constraintLayout"> 

    <android.support.design.widget.TextInputLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <AutoCompleteTextView 
      android:layout_width="0dp" 
      android:layout_height="0dp" 
      android:singleLine="true" 
      android:id="@+id/email" 
      android:hint="@string/prompt_email" 
      app:layout_constraintLeft_toRightOf="@+id/imageView3" 
      android:layout_marginStart="8dp" 
      app:layout_constraintTop_toBottomOf="@+id/logo" 
      android:layout_marginTop="16dp" 
      app:layout_constraintRight_toRightOf="@+id/constraintLayout" 
      android:layout_marginEnd="16dp" /> 
    </android.support.design.widget.TextInputLayout> 
</android.support.constraint.ConstraintLayout> 
+0

クラッシュする行を示す 'TextInputLayout'を使用するコードを共有してください。ありがとうございました。 –

+0

@GennadiiSaprykin、レイアウトを追加しました。 onCreateがレイアウトを膨らませようとしている間にクラッシュしています。 –

+0

残念ながら私は 'ConstraintLayout'の経験がありませんので、わかりません。私の推測では、 'app:layout_constraintLeft_toRightOf'のような属性は' ConstraintLayout'を親ビューにする必要があります。私はこれらの3つの属性を 'TextInputLayout'タグに移動しようとします。おそらくそれはうまくいくでしょう。 –

答えて

3

属性は、親ビューであることをConstraintLayoutが必要です。これらの属性をTextInputLayoutに移動しても問題ありません。

0

私の経験では、Androidのドキュメントを読むことは良い最初のステップです。エミュレータはうまくいきますが、実際には、OSレベルからのデザインパターンやインタラクションに慣れたいと思っています。

あなたやあなたの会社にテストデバイスがある場合は、Android携帯を数週間使用することをおすすめします。私は、コール/テキスト以外のすべてのためにAndroidを使用しました。あなたは、iOSとAndroidの微妙な違いを拾い始めます。例:ダイアログ

対トースト対UIAlertsの使用 - リソースについて

チェックアウト:google.com/design/spec & http://blog.mengto.com/how-to-design-for-android-devices/とミディアムの記事を。

Androidのドキュメントは大丈夫ですが、学習する最も良い方法は以前にAndroid向けに設計したデザイナーとペア設定することです。 iOSとAndroidの違いを学ぶだけであっても、沢山のことを学ぶことができます。

関連する問題