一种观点认为对另一个视图的右上角的Android RelativeLayout的中心对齐(Andro

2019-06-24 02:54发布

我有经验的RelativeLayout但我从来没有穿过的方式来解决我提出的问题运行(除了硬编码边距值,这是我想避免的。)

我想尝试创造一些像在RelativeLayout的下面的图片:

这个盒子是自己的看法,我希望得到一个包含上包含蓝色中的视图的右上角为中心的橙色圈的视图。

我试着用android:alignTop="boxView"android:alignRight="boxView"但把我的橙色圆圈完全我的箱子内。 我希望它是如此的圆框的右上角上方居中。

任何人都知道我能得到一个RelativeLayout的这一成果? 优选,而无需硬编码边距从屏幕的为橙色点视图的边缘移开。

Answer 1:

此代码创建你在找什么,但确实使用空间。 现在,您可以在代码中设置保证金,如果这是您要创建一个动态结构。 正如你可以看到我用切缘阴性移动右上方形状的蓝色框外。 这些都需要你尝试移动圆的高度的一半。 你可以做这一切的代码中心在右上角的圆圈。

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

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:background="#0000FF"
            android:orientation="vertical" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="26dp"
            android:layout_height="26dp"
            android:layout_alignRight="@+id/linearLayout1"
            android:layout_alignTop="@+id/linearLayout1"
            android:layout_marginRight="-13dp"
            android:layout_marginTop="-13dp"
            android:background="#FF00FF"
            android:orientation="vertical" >
        </LinearLayout>

    </RelativeLayout>


文章来源: Android RelativeLayout align center of one view on top right corner of another view