是否有可能像xml的视图高度一样给予marginTop?

时间:2015-08-21 09:36:25

标签: android relativelayout android-percent-library

我有一个imageView,我试图给它减去上限,与height / 2一样多。我可以通过编程方式完成它,但我觉得可以在xml中也可以发布andorid发布的百分比相对布局。我不知道怎么做或可能?

1 个答案:

答案 0 :(得分:0)

- 编辑:正如@a​​ga建议的那样,似乎有办法通过Percent Support Library -

来实现它

如果你想在整个应用程序中更频繁地使用这种类型的imageView,你可以扩展imageview并将你的保证金代码放在它的onMeasure中:

public class HalfMarginImageView extends ImageView {

    public HalfMarginImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        ((ViewGroup.MarginLayoutParams) getLayoutParams()).topMargin = -getMeasuredHeight() / 2;
    }
}

要使其工作,视图必须是ViewGroup的一部分。同时确保使用带有AttributeSet的构造函数,否则您无法从xml创建视图。然后,只需在布局xml中包含一个CustomView,选择HalfMarginImageView并将其用作普通的imageView。