解決法
com.android.support.constraint:constraint-layout
を 1.0.0-alpha5
以上のものを使う
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha5'
環境
- AndroidStudio 2.2 Preview 6
- com.android.tools.build:gradle:2.2.0-alpha6
- com.android.support.constraint:constraint-layout:1.0.0-alpha4
問題
AndroidStudio 2.2 previewから新しく追加されたConstraintLayoutを使っていて、TextViewのWidthを中のTextによって可変 + 折り返して欲しかったのに文字が欠けてしまっていた
構成的にはこんな感じ
<TextView
android:text="hogehogehogehogehogehgoehogehgoehgoehgoeghoe"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:textSize="18sp"
android:scrollHorizontally="true"
app:layout_constraintLeft_toRightOf="@+id/imageView"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
app:layout_constraintTop_toBottomOf="@+id/textView"
android:layout_marginTop="8dp"
app:layout_constraintRight_toRightOf="@+id/comment_item"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintBottom_toBottomOf="@+id/comment_item"
android:layout_marginBottom="16dp"
app:layout_constraintHorizontal_bias="0.0" />
これを実行すると、以下のように右端の文字が欠けてしまう
原因と解決法
com.android.support.constraint:constraint-layout:1.0.0-alpha4
のバグらしい
1.0.0-alpha5
で修正されたのでそちらを使う
現時点(2016/8/17)では 1.0.0-alpha7
が最新なのでそれを使ったら正しく表示された
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
余談
ConstraintLayoutなどのAndroidSDK付属のtoolはgradleのdependenciesに書くだけではダウンロードされない
AndroidStudioのSDK Managerを開き、SDK Toolsタブで別途updateすると使えるようになる
ややこしいなこれ
参考
http://stackoverflow.com/questions/38393954/wrong-textview-display-in-constraintlayout-when-anysize
http://stackoverflow.com/questions/37992187/gradle-sync-failed-could-not-find-constraint-layout1-0-0-alpha2