【问题标题】:layout_anchor and layout_anchorGravity do not work as expectedlayout_anchor 和 layout_anchorGravity 不能按预期工作
【发布时间】:2016-02-06 09:31:49
【问题描述】:

有没有人知道这个截图

正确反映了这个布局?

    <android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/text_view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="#FFFFFF80"
        style="@android:style/TextAppearance.DeviceDefault.Large"
        android:text="@string/text_1"/>
    <TextView
        android:id="@+id/text_view2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        app:layout_anchor="@id/text_view1"
        app:layout_anchorGravity="bottom|right"
        android:background="#FFFF8080"
        style="@android:style/TextAppearance.DeviceDefault.Large"
        android:text="@string/text_2"/>
    <TextView
        android:id="@+id/text_view3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        app:layout_anchor="@id/text_view2"
        app:layout_anchorGravity="bottom|right"
        android:background="#FF8080FF"
        style="@android:style/TextAppearance.DeviceDefault.Large"
        android:text="@string/text_3"/>
</android.support.design.widget.CoordinatorLayout>

我没想到文本视图有任何重叠,但可能我的预期不正确?

【问题讨论】:

  • 是的,预期结果:text_view3 的中心锚定到 text_view2 的右下角
  • 所以问题真的是:如何将视图移动到cordinatorLayout中视图的右侧...?我也想知道
  • @Wärting 我最终创建了一个自定义行为来放置子视图。可能有更简单的方法来做我还没有发现的。
  • @Wärting 我想你只需要在app:layout_anchorGravity="right"之外加上android:layout_gravity="right"

标签: android android-layout


【解决方案1】:

正如@ana 01 在评论中提到的那样,除了app:layout_anchorGravity="right" 之外,您还应该添加android:layout_gravity="right"。默认情况下,app:layout_anchorGravity 的工作方式类似于从属视图通过锚点视图的中心与锚点视图对齐。

因此,如果您想将一个视图相对于其他视图对齐,您应该设置一个依赖视图的边缘或重力,这将用于通过 android:layout_gravity 属性进行对齐。

【讨论】:

    猜你喜欢
    • 2020-06-14
    • 2015-06-26
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多