0

在此处输入图像描述您好正在开发带有图形视图的 android 应用程序。我有一个开源图形应用程序来用图形线显示我的值。这是我在添加视图时遇到的问题。我无法使用相对布局正确添加我的自定义视图。在这里,我附上了我的自定义视图对齐方式。

在该图像中,第 1 点是我尝试添加 mt 自定义视图时的结果。但我需要添加它,如 2. 部分所示。我的自定义视图如 3 中所示。我得到该行以 x,y 开始并以 x,y 值结束。我尝试了该值,但我得到了 2 部分的结果。请给我任何建议或让我知道是否需要任何对齐。

我的代码就像

View View v1=infalter.inflate(R.layout.bullet, null);
RelativeLayout.LayoutParams rl=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
rl.setMargins(myX,myY, 0, 0);
mRelative.addView(v1,rl);
4

3 回答 3

0

你正在为你得到的 x, y 点设置边距,所以视图将从左上角的 x, y 开始,这就是你得到的。你想对齐视图的底部中心,所以你需要计算这个。

所以:

顶部= y - viewHeight

左= x - viewWidth/2

于 2012-08-17T12:30:20.783 回答
0

我不知道您的 myX 和 myY 值是什么,但看起来您正试图将右上角与分别应用于右侧和顶部的 x 和 y 边距对齐。如果确实如此,您可能最好使用以下方法:

        rl.setMargins(0, 0, myX, myY);
        rl.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

setMargins 的参数顺序如下:左、上、右、下。如果您的 myX 值是右边距并且您希望对象右对齐,则上面的代码将指定这两个首选项。

于 2012-08-17T12:23:03.073 回答
0

在使用相对布局来提供帮助屏幕覆盖时,我遇到了奇怪的事情,不得不设置相对于右下角而不是左上角的边距。所以我有一个规则来对齐底部和右边的视图+边距。

也许这会有所帮助。

于 2012-08-17T12:23:17.860 回答