自定义形状布局

时间:2018-01-10 12:45:08

标签: android svg

在您向我提供类似svg backgroundlayer-list之类的解决方案之前,如果可能的话,我实际需要/或我想知道的是改变布局的形状。

所以,我正在使用一些东西在布局中添加视图,但我的布局是一个正方形,我实际需要的是比这更复杂的东西。

假设我有一个svg of a t-shirt我希望只能在t-shirt svg内部添加视图,就像里面的任何地方一样..

问题:可能与否?还有什么其他想法可以解决这个问题吗?

public void addChildToPlayableArea(int drawableId,int tag){         StickerImageView stickerImageView = new StickerImageView(getActivity());

我不确定这会对你有所帮助,但我有这个StickerImageView,我必须在FrameLayout中添加,以便能够移动和调整图像大小。

stickerImageView.setImageDrawable(getResources().getDrawable(drawableId));
    stickerImageView.setId(tag);
    if (Objects.equals(TAGS.SHAPE_TAG, tag))
        stickerImageView.setControlsVisibility(false);
    playableArea.addView(stickerImageView);
}

我现在所做的是根据父母(包含T恤)定义此FrameLayout的尺寸

private void setPlayableAreadDimensions(int scaleW , int scaleH, boolean moveZone){
    Log.i(TAG, " H : " + playableArea.getLayoutParams().height +
            "W : " + playableArea.getLayoutParams().width);

    ViewGroup.LayoutParams params = product.getLayoutParams();

    Log.i(TAG, " H : " + params.height +
            "W : " + params.width);

    playableArea.setLayoutParams(new RelativeLayout.LayoutParams(product.getDrawable().getIntrinsicWidth() / scaleW, product.getDrawable().getIntrinsicHeight() / scaleH));
    RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) playableArea.getLayoutParams();
    layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
    playableArea.setLayoutParams(layoutParams);

    Log.i(TAG, "Playable area H : " + playableArea.getLayoutParams().height +
                    "\nPlayable area W : " + playableArea.getLayoutParams().width);

}

如果问题不符合stackoverflow标准,我很抱歉

0 个答案:

没有答案