如何缩放图像项目GridView android?
我有自定义的带有图像的gridview,但我不知道单击它时如何缩放gridview中的项目。有人能帮我吗? 我尝试在项目gridview中单击缩放图像。 此代码位于适配器中。 但是它不起作用如何缩放图像项目GridView android?,android,android-layout,Android,Android Layout,我有自定义的带有图像的gridview,但我不知道单击它时如何缩放gridview中的项目。有人能帮我吗? 我尝试在项目gridview中单击缩放图像。 此代码位于适配器中。 但是它不起作用 public View getView(final int position, View convertView, ViewGroup parent) { final Animation animScale = AnimationUtils.loadAnimation(mContext,
public View getView(final int position, View convertView, ViewGroup parent) {
final Animation animScale = AnimationUtils.loadAnimation(mContext,
R.anim.scale_anim);
ObjMusicalType objMusical = mListMusical.get(position);
if (convertView == null) {
LayoutInflater inf = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inf.inflate(R.layout.item_grid_type, null);
imgMenu = (ImageView) convertView
.findViewById(R.id.img_type_musical);
}
imgMenu.setImageResource(objMusical.getImageMusical());
imgMenu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
Toast.makeText(mContext, "Click OK", Toast.LENGTH_LONG)
.show();
imgMenu.startAnimation(animScale);
} catch (Exception e) {
e.printStackTrace();
}
}
});
return convertView;
}
这是项gridview的xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.starsoft.musical.custom.SquareImageView
android:id="@+id/img_type_musical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
文件缩放动画
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.5"
android:toYScale="1.5" >
</scale>
对不起,这是我第一次在stackover提问!
感谢您的帮助您应该将convertView.findViewById移到if(convertView==null)块之外: 但是为了获得更好的性能,您应该像 在OnClickListener中,您还需要更改为:
imgMenu.setImageResource(objMusical.getImageMusical());
imgMenu.setOnClickListener(new OnClickListener() {
ImageView _imgMenu = imgMenu;
@Override
public void onClick(View v) {
try {
Toast.makeText(mContext, "Click OK", Toast.LENGTH_LONG)
.show();
_imgMenu.startAnimation(animScale);
} catch (Exception e) {
e.printStackTrace();
}
}
});
为了避免所有OnClickListener调用同一ImageView上的StartImation。您能解释一下您想做什么吗?还是举个例子?非常感谢!David Wasser感谢您的回答xtr。但如果我尝试在适配器中启动动画,它将不起作用。
imgMenu.setImageResource(objMusical.getImageMusical());
imgMenu.setOnClickListener(new OnClickListener() {
ImageView _imgMenu = imgMenu;
@Override
public void onClick(View v) {
try {
Toast.makeText(mContext, "Click OK", Toast.LENGTH_LONG)
.show();
_imgMenu.startAnimation(animScale);
} catch (Exception e) {
e.printStackTrace();
}
}
});