我想创建这种视图,其中交叉应该是单独的图像视图,因为我希望它是可点击的。我怎样才能做到这一点?Android重叠图像视图
这将是伟大的如果我可以编程创建此视图,因为我是一个动态列表的图像,我正在编程创建图像视图。我现在需要的仅仅是添加重叠的图像视图。
在此先感谢
我想创建这种视图,其中交叉应该是单独的图像视图,因为我希望它是可点击的。我怎样才能做到这一点?Android重叠图像视图
这将是伟大的如果我可以编程创建此视图,因为我是一个动态列表的图像,我正在编程创建图像视图。我现在需要的仅仅是添加重叠的图像视图。
在此先感谢
使用FrameLayout
,你可以在对方
防爆的顶部覆盖的观点:
FrameLayout frame = (FrameLayout) findViewById(R.id.frame);
ImageView image = new ImageView(this);
iv.setImageResource(R.drawable.image);
ImageView cross = new ImageView(this);
i.setImageResource(R.drawable.cross);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.RIGHT | Gravity.TOP;
i.setLayoutParams(layoutParams);
frame.addView(image);
frame.addView(cross);
创建RelativeLayout
编程,它包含两个ImageViews
。将您的图片放在第一张图片中,将第二张图片放在第二张图片中。相应地调整边距以将其放在右上角。
首先创建一个全新的结构布局,例如“partial_layout.xml”的占位符使用。然后在你的代码首先做一个LayoutInflater像这样的东西:
LayoutInflater mInflater = (LayoutInflater) this.getSystemService(this.LAYOUT_INFLATER_SERVICE);
然后尝试像这样的东西来获得此布局的新副本:
View convertView = mInflater.inflate(R.layout.partial_layout, null);
现在把你当前的数据这一观点,并最终将此视图添加到您的内容视图。
如果您创建了一个视图列表,您仍然可以通过仅在需要时才使用XML来扩展它 - 只需观看演讲“listView的世界”即可正确执行。使用ListView比创建许多视图效率要高得多(例如,如果要显示100个图像,只有在屏幕上需要创建的图像)。
无论如何,xml可以包含FrameLayout或RelativeLayout作为根视图,并且您只需根据您希望拥有的正确位置放置2个imageView。您可以为此使用UI设计器,或者通过为较大图像添加margin-top来编辑XML本身。另外,确保在较小的图像之前写入较大的图像。
至于点击,你可以在小imaveView上使用setOnClickListener。
顺便说一句,如果它只是图像,你应该使用GridView而不是ListView。
只需要通过这个问题http://stackoverflow.com/questions/22790003/horizontal-scroll-over-a-list-of-image-views 这就是我必须这样做的原因。我通过水平滚动视图以其根元素作为线性布局解决了这个问题,并且在线性布局中我正在编程式地添加这些图像 – Vyper
好的,我已经为您向我展示的问题添加了一个答案。希望这可以帮助。 –
感谢这对我有一些改变,我必须做的! – Vyper