高仿qq照片选择界面,哈哈

来源:互联网 发布:windows阻止控件安装 编辑:程序博客网 时间:2024/04/26 07:59

好像也没啥技术含量,回顾一下吧。。。

布局文件

<Gallery        android:id="@+id/mGallery"        android:layout_width="match_parent"        android:layout_height="match_parent"></Gallery>
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <ImageView        android:id="@+id/mImageViewFruit"        android:layout_width="100dp"        android:layout_height="100dp"        android:layout_margin="10dp"        android:src="@mipmap/apple" />    <TextView        android:id="@+id/mTextViewFruit"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/mImageViewFruit"        android:gravity="center_horizontal"        android:text="苹果" />    <ImageView        android:id="@+id/mImageViewTint"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignBottom="@id/mTextViewFruit"        android:layout_alignRight="@id/mTextViewFruit"        android:visibility="invisible"        android:background="#55ff0000"        />    <CheckBox        android:id="@+id/mCheckBoxFruit"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true" /></RelativeLayout>

写一下Adapter吧,其他自行脑补

其他指的是moudel,和主类

package com.lingzhuo.test5.Adapter;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.ImageView;import android.widget.TextView;import com.lingzhuo.test5.R;import com.lingzhuo.test5.moudel.Fruit;import java.util.List;/** * Created by heinika on 2015/8/26. */public class FruitAdapter extends BaseAdapter {    private LayoutInflater inflater;    private List<Fruit> fruits;    public FruitAdapter(LayoutInflater inflater, List<Fruit> fruits) {        this.inflater = inflater;        this.fruits = fruits;    }    @Override    public int getCount() {        return fruits.size();    }    @Override    public Object getItem(int position) {        return position;    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        final Fruit fruit = fruits.get(position);        ViewHold vh = null;        if (convertView == null) {            vh = new ViewHold();            convertView = inflater.inflate(R.layout.item_fruit, null);            vh.mImageViewTint = (ImageView) convertView.findViewById(R.id.mImageViewTint);            vh.mImageViewFruit = (ImageView) convertView.findViewById(R.id.mImageViewFruit);            vh.mTextViewFruit = (TextView) convertView.findViewById(R.id.mTextViewFruit);            vh.mCheckBoxFruit = (CheckBox) convertView.findViewById(R.id.mCheckBoxFruit);            convertView.setTag(vh);        } else {            vh = (ViewHold) convertView.getTag();        }        vh.mCheckBoxFruit.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {                fruit.setIsChecked(isChecked);                notifyDataSetChanged();                     //一定要刷新            }        });        if(fruit.isChecked()) {            vh.mImageViewTint.setVisibility(View.VISIBLE);        }else{            vh.mImageViewTint.setVisibility(View.INVISIBLE);        }        vh.mCheckBoxFruit.setChecked(fruit.isChecked());        vh.mImageViewFruit.setImageResource(fruit.getImage());        vh.mTextViewFruit.setText(fruit.getName());        return convertView;    }    class ViewHold {        ImageView mImageViewFruit;        TextView mTextViewFruit;        CheckBox mCheckBoxFruit;        ImageView mImageViewTint;    }}
0 0