将位置视图放在不同的位置
问题描述:
我想将图标(图像浏览)放在更大的图像视图上。这样的事情:将位置视图放在不同的位置
ArrayList<Icon> icons = new ArrayList<Icons>;
for(Icon icon : icons){
ImageView iv = new ImageView(this);
iv.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
iv.setImageBitmap(icon.getBitMap());
iv.setPosition(icon.getX(),icon.getY()); //Thats the line I need to know
myLayout.addView(iv);
}
但问题是我找不到一种方法,使其效率和知道哪个imageview被点击。
答
通过视图的标签,我发现我的定位问题的解决方案,你可以这样做:
ImageView imageView = (ImageView)findViewById(R.id.imageView);
imageView.setX(xPosition);
imageView.setY(YPosition);
问题与,哪个图片被点击,回答@霍布乔很好,这个样本!
ArrayList<Icon> icons = new ArrayList<Icons>;
for(int i = 0; i < icons.size(); i++) {
Icon icon = icons.get(i);
ImageView iv = new ImageView(this);
iv.setTag(i);
iv.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
iv.setImageBitmap(icon.getBitMap());
iv.setOnClickListener(new View.OnClickListener({
@Override
public void onClick(View view) {
iconClicked(view);
}
});
myLayout.addView(iv);
}
public void iconClicked(View view) {
switch((Integer) view.getTag())
case 0:
//...
break;
case 1:
//...
break;
default:
break;
}
}
答
为了弄清楚单击的视图,应用标签,然后检查与onClick()
ArrayList<Icon> icons = new ArrayList<Icons>;
for(int i = 0; i < icons.size(); i++) {
Icon icon = icons.get(i);
ImageView iv = new ImageView(this);
iv.setTag(i);
iv.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
iv.setImageBitmap(icon.getBitMap());
iv.setOnClickListener(new View.OnClickListener({
@Override
public void onClick(View view) {
iconClicked(view);
}
});
myLayout.addView(iv);
}
public void iconClicked(View view) {
switch((Integer) view.getTag())
case 0:
//...
break;
case 1:
//...
break;
default:
break;
}
}
会意点击了哪个ImageView的可以使用'Tag'内进行查看的'onClickListener()' – ZeekHuge
你要把图标在哪里?它是一个线性布局,你想保持像一个列表的图像视图,并保持在每个图像的中心或什么? – ZeekHuge
没有像X:Y(100,200)或(212,50)或(523,321)这样的东西,你知道我的意思吗? – Ribisl