我需要在运行时动态地将图像放置在另一个图像上,精确地位于背景图像的x,y 。
我有以下详情:
叠加图像属性(红色):x = 58,y = 232,h = 266,w = 431
背景图像(黑色):match_parent,w = 1024,h = 768
此处x,y是叠加层的左上角。
注意:叠加图像的x,y是相对于背景图像而不是整个屏幕布局。隐藏ActionBar时,背景图像可能会拉伸。背景图像的layout_width和layout_height设置为match_parent。而scaleType是“中心”。
使用以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout root = (RelativeLayout) findViewById(R.id.rootlayout);
backIV = (ImageView) findViewById(R.id.imageView1);
Content = new ImageView(this);
Content.setImageDrawable(getResources().getDrawable(R.drawable.content_1));
params = new RelativeLayout.LayoutParams(431, 266);
rl.addView(Content, params);
root.addView(rl);
}
来自上面的代码 :
[我想要的]
从SO的许多解决方案和建议中,没有一个对我有用。相信我,没有尝试任何事情,我不会发布这个问题。
答案 0 :(得分:1)
请参阅我对此问题的回答:How to maintain multi layers of ImageViews and keep their aspect ratio based on the largest one?
这是一个支持多个Drawable图层的扩展ImageView