您的位置:首页 > 其它

QQ对话框、背景渐变色

2015-08-31 11:27 260 查看
在drawable中新建文件type的类型还有圆形扇形

聊天程序设计
主布局list_messagexml

单条左边Msg的布局send_receivexml

单条右边Msg的布局send_rightxml

Msg的适配器类

MyMsg类

主函数类

Image的布局teache_imagexml

ExpresionAdapter 的适配器

PopupWindow的布局popupwindowxml

在drawable中新建文件,type的类型还有圆形,扇形

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient 
    android:type="linear"
    android:startColor="#aee3d9"
    android:centerColor="#d5decd"
    android:endColor="#fff4de"
    android:angle="-90"/>   
</shape>


聊天程序设计

主布局(list_message.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/grid_in_below"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#18b4ed"
        android:gravity="center"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="杜 Q"
            android:textSize="20sp" />
    </LinearLayout>

    <ListView
        android:id="@+id/msg_list_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@drawable/dialog_background"
        android:cacheColorHint="#ffffffff"
        android:divider="#55ff0000" >
    </ListView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ebecee"
        android:gravity="center" >

        <ImageView
            android:id="@+id/image_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.20"
            android:src="@drawable/eoj" />

        <Button
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="5dp" />

        <Button
            android:id="@+id/left_send"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_gravity="bottom"
            android:layout_margin="5dp"
            android:background="@drawable/obtain_verification"
            android:padding="5dp"
            android:text="left" />

        <EditText
            android:id="@+id/input_text"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:background="@drawable/edit_shape"
            android:ems="10"
            android:hint="请输入要发送的内容"
            android:inputType="textMultiLine"
            android:maxHeight="200dp"
            android:maxLines="8"
            android:minHeight="30dp"
            android:paddingBottom="5dp"
            android:paddingTop="5dp" >
        </EditText>

        <Button
            android:id="@+id/right_send"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_gravity="bottom"
            android:layout_margin="5dp"
            android:background="@drawable/obtain_verification"
            android:padding="5dp"
            android:text="right" />
    </LinearLayout>

    <GridView
        android:id="@+id/image_gridView"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:background="#ffffff"
        android:numColumns="5"
        android:visibility="gone" >
    </GridView>

</LinearLayout>


单条左边Msg的布局(send_receive.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="10dp"
        android:text=""
        android:textColor="#000000" />

    <LinearLayout
        android:id="@+id/left_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left" >

        <ImageView
            android:id="@+id/left_image_view_head"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:src="@drawable/ic_launcher" />

        <LinearLayout
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/left_office_title_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/yingzhang_shape_background"
                    android:text="营长"
                    android:textColor="@color/white"
                    android:textSize="15sp" />

                <TextView
                    android:id="@+id/left_nicheng"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="昵称"
                    android:textColor="#000000" />
            </LinearLayout>

            <TextView
                android:id="@+id/left_msg"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="70dp"
                android:background="@drawable/eng"
                android:gravity="center"
                android:text="dddddddddddddddddddddddddddddddddddddddd"
                android:textColor="#000000"
                android:textSize="20sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>


单条右边Msg的布局(send_right.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="right"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/right_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="10dp"
        android:text=""
        android:textColor="#000000" />

    <LinearLayout
        android:id="@+id/right_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:gravity="right" >

                <TextView
                    android:id="@+id/right_nicheng"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="454"
                    android:textColor="#000000" />

                <TextView
                    android:id="@+id/right_office_title_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/yingzhang_shape_background"
                    android:text="营长" />
            </LinearLayout>

            <TextView
                android:id="@+id/right_msg"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="70dp"
                android:background="@drawable/eog"
                android:gravity="center"
                android:text="kl"
                android:textColor="#000000"
                android:textSize="20sp" />
        </LinearLayout>

        <ImageView
            android:id="@+id/right_image_view_head"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

</LinearLayout>


Msg的适配器类

package com.normal.mymsg;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.test.login.R;
import com.test.message_send_receive.Msg;

import android.graphics.drawable.Drawable;
import android.text.Html;
import android.text.Html.ImageGetter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class MyAdapter extends BaseAdapter {
    //给短信设置不同的类型,根据不同的类型选择不同的适配器
    public static final int TYPE_RECEIVED = 0;
    public static final int TYPE_SEND = 1;
    //因为有两种类型,所以type的最多有两种
    public static final int MAX_TYPE = 2;
    //得到LayoutInflater 
    private LayoutInflater mInflater;
    //把主文件集合中的数据传递过来
    private List<MyMsg> mData;
    //Spanned的一个参数
    private Html.ImageGetter mImageGetter;
    //时间转换形式
    private SimpleDateFormat mFormat = new SimpleDateFormat("EE HH:mm");
    public MyAdapter(LayoutInflater mInflater, List<MyMsg> mData, Html.ImageGetter mImageGetter) {
        this.mInflater = mInflater;
        this.mData = mData;
        this.mImageGetter = mImageGetter;
    }

    @Override
    public int getItemViewType(int position) {
        // 得到布局的类型
        return mData.get(position).getType();
    }

    // 查看缓存类型的数量
    @Override
    public int getViewTypeCount() {

        return MAX_TYPE;
    }

    @Override
    public int getCount() {
        //都是根据传入的集合进行设置
        return mData.size();
    }

    //
    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int type = getItemViewType(position);
        ViewHolderRight vRight = null;
        ViewHolder viewHolder = null;
        if (convertView == null) {
            //通过类型选择要填充的视图布局
            switch (type) {
            case TYPE_RECEIVED:

                convertView = mInflater.inflate(R.layout.send_receive, null);
                viewHolder = new ViewHolder();
                viewHolder.leftLayout = (LinearLayout) convertView.findViewById(R.id.left_layout);
                viewHolder.imageView_header = (ImageView) convertView.findViewById(R.id.left_image_view_head);
                viewHolder.textview_time = (TextView) convertView.findViewById(R.id.time);
                viewHolder.textview_message = (TextView) convertView.findViewById(R.id.left_msg);
                viewHolder.textview_nicheng = (TextView) convertView.findViewById(R.id.left_nicheng);
                viewHolder.textview_ofice_title = (TextView) convertView.findViewById(R.id.left_office_title_text);
                convertView.setTag(viewHolder);

                break;
            case TYPE_SEND:
                convertView = mInflater.inflate(R.layout.send_right, null);
                vRight = new ViewHolderRight();
                vRight.rightLayout = (LinearLayout) convertView.findViewById(R.id.right_layout);
                vRight.imageView_header = (ImageView) convertView.findViewById(R.id.right_image_view_head);
                vRight.textview_time = (TextView) convertView.findViewById(R.id.right_time);
                vRight.textview_message = (TextView) convertView.findViewById(R.id.right_msg);
                vRight.textview_nicheng = (TextView) convertView.findViewById(R.id.right_nicheng);
                vRight.textview_ofice_title = (TextView) convertView.findViewById(R.id.right_office_title_text);
                convertView.setTag(vRight);
                break;
            default:
                break;
            }
        }
        MyMsg msg = mData.get(position);
        //通过类型赋给不同布局的参数值
        switch (type) {
        case TYPE_RECEIVED:
            viewHolder = (ViewHolder) convertView.getTag();
            viewHolder.imageView_header.setImageResource(R.drawable.ic_launcher);
            String time = mFormat.format(new Date(msg.getTime()));
            viewHolder.textview_time.setText(time);
            viewHolder.textview_message.setText(Html.fromHtml(msg.getMessage(), mImageGetter, null));
            viewHolder.textview_nicheng.setText(msg.getNicheng());
            viewHolder.textview_ofice_title.setText(msg.getOffice_title());
            break;

        case TYPE_SEND:
            vRight = (ViewHolderRight) convertView.getTag();
            vRight.imageView_header.setImageResource(R.drawable.ic_launcher);
            String time2 = mFormat.format(new Date(msg.getTime()));
            vRight.textview_time.setText(time2);
            vRight.textview_message.setText(Html.fromHtml(msg.getMessage(), mImageGetter, null));
            vRight.textview_nicheng.setText(msg.getNicheng());
            vRight.textview_ofice_title.setText(msg.getOffice_title());
            break;
        default:
            break;
        }

        return convertView;
    }

    class ViewHolder {
        LinearLayout leftLayout;
        ImageView imageView_header;
        TextView textview_ofice_title;
        TextView textview_nicheng;
        TextView textview_time;
        TextView textview_message;
    }

    class ViewHolderRight {
        LinearLayout rightLayout;
        ImageView imageView_header;
        TextView textview_ofice_title;
        TextView textview_nicheng;
        TextView textview_time;
        TextView textview_message;
    }
}


MyMsg类

package com.normal.mymsg;

import android.text.Spanned;

public class MyMsg {
    private int image;
    private String office_title;
    private String nicheng;
    private Long time;
    private String message;
    private int type;
    public static final int TYPE_RECEIVED=0;
    public static final int TYPE_SEND=1;
    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public MyMsg(int image, String office_title, String nicheng, Long time, String message) {

        this.image = image;
        this.office_title = office_title;
        this.nicheng = nicheng;
        this.time = time;
        this.message = message;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public void setOffice_title(String office_title) {
        this.office_title = office_title;
    }

    public void setNicheng(String nicheng) {
        this.nicheng = nicheng;
    }

    public void setTime(Long time) {
        this.time = time;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public MyMsg() {

    }

    public int getImage() {
        return image;
    }

    public String getOffice_title() {
        return office_title;
    }

    public String getNicheng() {
        return nicheng;
    }

    public Long getTime() {
        return time;
    }

    public String getMessage() {
        return message;
    }
}


主函数类

package com.test.message_send_receive;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

import com.normal.image.ExpresionAdapter;
import com.normal.mymsg.MyAdapter;
import com.normal.mymsg.MyMsg;
import com.test.login.R;
import com.test.login.R.layout;
import com.test.message_image.ConcreteWatched;
import com.test.message_image.ImageAdapter;
import com.test.message_image.ImageDialog;
import com.test.message_image.MsgImage;
import com.test.message_image.Watched;

import android.app.Activity;
import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.text.Html;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.SpannedString;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;

public class MainMessage extends Activity implements OnClickListener {
    private Html.ImageGetter mImageGeter;
    private ListView mListView;
    private EditText mEditText;
    private ImageView mImageView;
    private LayoutInflater mInflater;
    private Button mLeftSend;
    private Button mRightSend;
    private MyAdapter myAdapter;
    //把短信类放入到一个集合中
    private List<MyMsg> myListImage = new ArrayList<>();
    private Button mImage;
    private ExpresionAdapter mExpresionAdapter;
    private GridView mTeacheGridView;
    //为不同图片的名称,对应ImageAdapter中的文件顺序
    private String[] mImageData = { "dra", "drb", "drc", "drd", "dre", "drf", "drg", "drh", "dri", "drj", "drk", "drl",
            "drm", "drn", "dro", "drp", "drq", "drr", "drs", "drt", "dru", "drv", "drw", "drx", "dry", "drz" };
    //下面这几句主要是PopupWindow 用得到
    private PopupWindow mPopupWindow;
    private LinearLayout gridBelow;
    private GridView mPopGridView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_message);
        //初始化PopupWindow 
        mPopupWindow = new PopupWindow(this);
        //设置PopupWindow 的宽度
        mPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
        //设置PopupWindow 的高度
        mPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
        //把PopupWindow 设为焦点
        mPopupWindow.setFocusable(true);
        //同时设置PopupWindow 外面是可以点击的
        mPopupWindow.setOutsideTouchable(true);
        //得到PopupWindow 的视图布局
        View popupWindow = getLayoutInflater().inflate(R.layout.popupview, null);
        //设置为填充布局
        mPopupWindow.setContentView(popupWindow);
        //给PopupWindow 添加GridView布局
        mPopGridView = (GridView) popupWindow.findViewById(R.id.pop_gridView);
        //设置popupWindow显示在哪个控件下面
        gridBelow = (LinearLayout) findViewById(R.id.grid_in_below);

        //为最左边的图片
        mImageView = (ImageView) findViewById(R.id.image_view);

        mListView = (ListView) findViewById(R.id.msg_list_view);
        //图片旁边那个键
        mImage = (Button) findViewById(R.id.image);

        mImage.setOnClickListener(this);
        mLeftSend = (Button) findViewById(R.id.left_send);
        mLeftSend.setOnClickListener(this);
        mRightSend = (Button) findViewById(R.id.right_send);
        mRightSend.setOnClickListener(this);
        //得到图片单条的视图布局
        mTeacheGridView = (GridView) findViewById(R.id.image_gridView);
        "****重点****"
        mInflater = getLayoutInflater();
        mImageGeter = new Html.ImageGetter() {
            @Override
            public Drawable getDrawable(String source) {
                Drawable drawable = null;
                if (source != null) {
                    //利用反射,查找对应的图片
                    Class clazz = R.drawable.class;

                    try {
                        Field field = clazz.getDeclaredField(source);
                        //得到图片的id,为了设置图片的大小
                        int sourcedId = field.getInt(clazz);
                        drawable = getResources().getDrawable(sourcedId);
                        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                    } catch (NoSuchFieldException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IllegalAccessException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IllegalArgumentException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                } else {
                    //也是为了设置在富文本中要显示图片的大小
                    drawable = getResources().getDrawable(R.drawable.ic_launcher);
                    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                }

                return drawable;
            }
        };

        mImageView.setOnClickListener(this);
        //得到图片的适配器,初始化,
        mExpresionAdapter = new ExpresionAdapter(getLayoutInflater());
        //给Expresion添加适配器
        mTeacheGridView.setAdapter(mExpresionAdapter);
        //给PopupWindow添加适配器
        mPopGridView.setAdapter(mExpresionAdapter);
        //为单条短信的适配器
        myAdapter = new MyAdapter(mInflater, myListImage, mImageGeter);
        //给短信的集合添加适配器
        mListView.setAdapter(myAdapter);
        //设置Expresion的点击事件,同时将对应的图片显示在EditText中
        mTeacheGridView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Spanned span = Html.fromHtml("<img src='" + mImageData[position] + "'/>", mImageGeter, null);
                mEditText.getText().insert(mEditText.getSelectionStart(), span);

            }
        });
        //设置PopupWindow的点击事件,同时将对应的图片显示在EditText中

        mPopGridView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Spanned span = Html.fromHtml("<img src='" + mImageData[position] + "'/>", mImageGeter, null);
                mEditText.getText().insert(mEditText.getSelectionStart(), span);

            }
        });
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {

        case R.id.left_send:
            //将不同的短信类型填入,为了适配器中便于区分
            MyMsg msg = new MyMsg();
            //设置头像
            msg.setImage(R.drawable.ic_launcher);
            msg.setMessage(filterHtml(Html.toHtml(mEditText.getText())));
            //设置昵称
            msg.setNicheng("小康");
            //设置等级
            msg.setOffice_title("营长");
            msg.setTime(System.currentTimeMillis());
            msg.setType(MyAdapter.TYPE_RECEIVED);

            myListImage.add(msg);
            myAdapter.notifyDataSetChanged();
            mListView.setSelection(myListImage.size() - 1);
            mEditText.setText("");
            break;

        case R.id.right_send:

            MyMsg msg1 = new MyMsg();
            msg1.setImage(R.drawable.ic_launcher);
            msg1.setMessage(filterHtml(Html.toHtml(mEditText.getText())));
            msg1.setNicheng("小康");
            msg1.setOffice_title("营长");
            msg1.setTime(System.currentTimeMillis());
            msg1.setType(MyAdapter.TYPE_SEND);

            myListImage.add(msg1);
            myAdapter.notifyDataSetChanged();
            mListView.setSelection(myListImage.size() - 1);
            mEditText.setText("");
            break;
        case R.id.image:
            if (mPopGridView.getVisibility() == View.VISIBLE) {
                mPopGridView.setVisibility(View.GONE);
            } else {
                mPopGridView.setVisibility(View.VISIBLE);
            }
            mPopupWindow.showAsDropDown(gridBelow);
            break;
        case R.id.image_view:
            if (mTeacheGridView.getVisibility() == View.VISIBLE) {
                mTeacheGridView.setVisibility(View.GONE);
            } else {
                mTeacheGridView.setVisibility(View.VISIBLE);
            }
            break;

        }
    }

    //因为在EditText中已经为Spanned形式,所以用此方法转换成一般形式,最后在适配器中在转化成Spanned形式
    private String filterHtml(String str) {
        str = str.replaceAll("<(?!br|img)[^>]+>", "").trim();
        return str;
    }

}


Image的布局(teache_image.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/teache_image"

        android:padding="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>


ExpresionAdapter 的适配器

package com.normal.image;

import com.test.login.R;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

public class ExpresionAdapter extends BaseAdapter {
    private int[] mData = { R.drawable.dra, R.drawable.drb, R.drawable.drc, R.drawable.drd, R.drawable.dre,
            R.drawable.drf, R.drawable.drg, R.drawable.drh, R.drawable.dri, R.drawable.drj, R.drawable.drk,
            R.drawable.drl, R.drawable.drm, R.drawable.drn, R.drawable.dro, R.drawable.dro, R.drawable.drq,
            R.drawable.drr, R.drawable.drs, R.drawable.drt, R.drawable.dru, R.drawable.drv, R.drawable.drw,
            R.drawable.drx, R.drawable.dry, R.drawable.drz };
    private LayoutInflater mInflater;

    public ExpresionAdapter(LayoutInflater mInflater) {
        this.mInflater = mInflater;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return mData.length;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder = null;
        if (convertView == null) {
            viewHolder = new ViewHolder();
            convertView = mInflater.inflate(R.layout.teache_image, null);
            viewHolder.imageView = (ImageView) convertView.findViewById(R.id.teache_image);
            convertView.setTag(viewHolder);
        }
        viewHolder = (ViewHolder) convertView.getTag();
        viewHolder.imageView.setImageResource(mData[position]);
        return convertView;

    }

    class ViewHolder {
        ImageView imageView;
    }

}


PopupWindow的布局(popupwindow.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <GridView 
        android:id="@+id/pop_gridView"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:numColumns="5"></GridView>

</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: