我正在开发一个Android应用程序,其中我必须在用户点击的网格视图中展开特定图像。有任何方法可以做到。任何帮助将不胜感激。我使用了两种方法但没有实现同样
第一:用于getview()方法:
if(array[position]!=null)
if(array[position].equals("1")){
imageView.setLayoutParams(new LinearLayout.LayoutParams(80, 80, 1));
}
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
final int posit = gridview.getPositionForView((View)v.getParent());
array[posit]="1";
((BaseAdapter)gridview.getAdapter()).notifyDataSetChanged();
break;
}
return true;
}
});
第二
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
v.setLayoutParams(new LinearLayout.LayoutParams(80, 80, 1));
((BaseAdapter)gridview.getAdapter()).notifyDataSetChanged();
break;
}
return true;
}
});
但是这两种方法没有显示正确的结果,它正在随机扩展图像我应该怎么做。任何想法都将不胜感激。
答案 0 :(得分:2)
编辑:对于该问题,您必须跟踪已更改的视图,例如,当您更改视图的属性时,采用布尔数组,对于数组中的该位置保持true。滚动视图时,无论哪个数组位置为真,对于它们只有你设置放大属性,设置默认属性,如下所示。
if(array[position].equals("1"))
{
imageView.setLayoutParams(new LinearLayout.LayoutParams(80, 80, 1));
}
else
{
// set image original property
}
答案 1 :(得分:0)
将此代码放入OnclickListener
imageview
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("image path"), "image/*");
startActivity(intent);