是否可以在约束布局中使用9-patch drawable?我正在尝试渲染一个可编辑的分数。两个edittext由九个补丁drawable分隔,基本上是一条可以水平扩展的黑线:
<android.support.constraint.ConstraintLayout
android:id="@+id/constraint_content"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<EditText
android:id="@+id/numerator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:hint="@string/x"
android:inputType="number"
android:textColorHint="@android:color/transparent"
android:textSize="24sp"
mr:layout_constraintBottom_toTopOf="@id/denominator" />
<EditText
android:id="@+id/denominator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:hint="@string/x"
android:inputType="number"
android:textColorHint="@android:color/transparent"
android:textSize="24sp"
mr:layout_constraintBottom_toBottomOf="@id/numerator" />
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/fraction"
mr:layout_constraintEnd_toEndOf="@id/denominator"
mr:layout_constraintStart_toStartOf="@string/numerator" />
</android.support.constraint.ConstraintLayout>
线条被正确渲染,但当分子或分母增加长度时,它不会伸展自己。 drawable工作正常,具有“经典”布局(LinearLayout)。
的链接编辑:添加:
mr:layout_constraintWidth_default="percent"
mr:layout_constraintWidth_percent="1"
到View布局似乎有效,现在我需要将内容集中......
答案 0 :(得分:0)
View
用于显示九个补丁画面的约束之一是错误的:
mr:layout_constraintStart_toStartOf="@string/numerator"
您正在尝试将View
的结尾约束为字符串资源,这实际上不会引发任何错误。
由于您希望此View
与提名者或分母一起展开(以较长者为准)并且您的父ConstraintLayout
android:layout_width
设置为wrap_content
,您可以约束View
对parent
的水平约束如下:
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/fraction"
mr:layout_constraintBottom_toTopOf="@id/denominator"
mr:layout_constraintEnd_toEndOf="parent"
mr:layout_constraintStart_toStartOf="parent"
mr:layout_constraintTop_toBottomOf="@id/numerator" />
结果: