样式中的ConstraintLayout约束属性

时间:2018-06-26 18:50:20

标签: android

如何在样式中使用约束属性?

当我尝试将其与具有自定义名称空间的其他任何属性一起使用时,它对我的​​视图没有影响。

 <style name="Header.Center" parent="Header">
    <item name="layout_constraintBottom_toBottomOf">parent</item>
 </style>

添加名称空间应用没有帮助。

2 个答案:

答案 0 :(得分:8)

首先,请确保要应用样式的ViewConstraintLayout的直接子代。否则,放置View时将不考虑约束条件。

我已经尝试过了,而您尝试过的方式实际上是可行的。我在styles.xml中添加了以下样式:

<style name="CustomStyle">
    <item name="layout_constraintBottom_toBottomOf">parent</item>
    <item name="layout_constraintEnd_toEndOf">parent</item>
</style>

创建了基本布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="Text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/CustomStyle"/>

</android.support.constraint.ConstraintLayout>

并且确实将TextView定位在父级的右下角。

答案 1 :(得分:0)

也许您的视图的属性是“ match_parent”,但这是错误的。 它应该是“ wrap_content”。

 <TextView
            android:text="Text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/CustomStyle"/>