Android--网格布局

案例:做一个手机卫士界面

(图片是阿里图标随便找的)

主界面:

    private GridView gv_main;
    private MyAdapter adapter;
    String[] name={"手机防盗","软件管理","进程管理","设置中心"};
    int[] icons=new int[]{R.drawable.security,R.drawable.software,R.drawable.task,R.drawable.setting};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        gv_main=(GridView)findViewById(R.id.gv_main);
        adapter=new MyAdapter(this, name, icons);

        gv_main.setAdapter(adapter);

        gv_main.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String s = name[position];
                Toast.makeText(MainActivity.this,s,Toast.LENGTH_SHORT).show();
            }
        });

    }
    <GridView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="3"
        android:layout_marginTop="10dp"
        android:id="@+id/gv_main"
        android:verticalSpacing="10dp"/>

item布局:

  <ImageView
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:src="@drawable/ic_launcher_background"
        android:id="@+id/gv_iv_one"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16dp"
        android:text="应用名称"
        android:id="@+id/gv_tv_one"/>

适配器:

public class MyAdapter extends BaseAdapter {


    private String[] appName;
    private int[] icons;
    private Context context;

    public MyAdapter(Context context,String[] appName, int[] icons) {
        this.appName = appName;
        this.icons = icons;
        this.context=context;
    }

    @Override
    public int getCount() {
        return appName.length;
    }

    @Override
    public Object getItem(int position) {
        return appName[position];
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null){
            convertView = View.inflate(context, R.layout.gv_item, null);
        }
        TextView textView=(TextView)convertView.findViewById(R.id.gv_tv_one);
        ImageView imageView=(ImageView)convertView.findViewById(R.id.gv_iv_one);

        textView.setText(appName[position]);
        imageView.setImageResource(icons[position]);

        return convertView;
    }
}

发布了117 篇原创文章 · 获赞 1 · 访问量 7073

猜你喜欢

转载自blog.csdn.net/qq_43616001/article/details/104255190