为了账号安全,请及时绑定邮箱和手机立即绑定

android的GridView选中的时候放大

标签:
Android

上代码

package com.aisat.realtek.gridviewtest;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private GridView gv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gv = (GridView) findViewById(R.id.gv);
        gv.setNumColumns(5);
        List<String> list=new ArrayList<>();
        for (int i=0;i<100;i++){
            list.add("Item"+i%10);
        }
        gv.setAdapter(new MyGvAdapter(this,list));
        gv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                MyGvAdapter adapter = (MyGvAdapter) gv.getAdapter();
                adapter.notifyDataSetChanged(position);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

    }
}
package com.aisat.realtek.gridviewtest;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;

/**
 * Created by Vincent on 2017/6/15.
 */

public class MyGvAdapter extends BaseAdapter {

    Context context;
    LayoutInflater mInflater;
    List<String> list;
    private TextView tv;

    public MyGvAdapter(Context context, List<String> strings) {
        mInflater = LayoutInflater.from(context);
        this.context = context;
        this.list = strings;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    private int selectid = -1;
    //用于setOnItemSelectedListener中调用,赋值当前选择的item的position
    public void notifyDataSetChanged(int id) {
        selectid = id;
        super.notifyDataSetChanged();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        convertView = mInflater.inflate(R.layout.mygv_item_layout, null);
        tv = (TextView) convertView.findViewById(R.id.item_tv);
        tv.setText(list.get(position));
        if (selectid == position) {
            //开启动画
            Animation testAnim = AnimationUtils.loadAnimation(context, R.anim.vodani);

            convertView.startAnimation(testAnim);
        }
        return convertView;
    }
}

动画xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:fillAfter="true">
    <scale
        android:interpolator="@android:anim/accelerate_interpolator"
        android:fromXScale="1.0"
        android:toXScale="1.3"
        android:fromYScale="1.0"
        android:toYScale="1.3"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="300"
        />

</set>

效果如下

5b9d08ad0001c3f204690865.jpg5b9d08ad0001947b01980189.jpg


原文链接:http://www.apkbus.com/blog-843025-68055.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消