在您向我提供类似svg background
或layer-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标准,我很抱歉